这题都不好好做,以后怎么工作噢。。。
4://考察in语法
select * from kc where 课程号 in ('101','102','302');
6.//考察对group by的理解
select 课程号,count(*) from xs_kc group by 课程号;
8.//考察对where语句中的and的理解。
select count(*) from xs_kc where 课程号=(select 课程号from kc where 课程名='c语言') and 成绩>60;
② SQL用了多个外连接查询速度超慢!
你
select 后边我看看都查什么了?
还有,你数据量大概多少,WhsCode字段上有索引吗?
你的主表是什么?也就是left join左边那个表
还有ItemCode字段上有索引吗,包括主表和这几个子查询
-----------------补充--------------
你把你select后from 前的那部分语句发来看一下,我看看怎么给你改
③ 使用sql函数检测字符串是否存在对应的字串问题,。
函数分类列表
加载宏和自动化函数
多维数据集函数
数据库函数
日期和时间函数
工程函数
财务函数
信息函数
逻辑函数
查找和引用函数
数学和三角函数
统计函数
文本函数
-----------------------------------------------------
加载宏和自动化函数
CALL 调用动态链接库或代码源中的过程
EUROCONVERT 用于将数字转换为欧元形式,将数字由欧元形式转换为欧元成员国货币形式,或利用欧元作为中间货币将数字由某一欧元成员国货币转化为另一欧元成员国货币形式(三角转换关系)
GETPIVOTDATA 返回存储在数据透视表中的数据
REGISTER.ID 返回已注册过的指定动态链接库 (DLL) 或代码源的注册号
SQL.REQUEST 连接到一个外部的数据源并从工作表中运行查询,然后将查询结果以数组的形式返回,无需进行宏编程
多维数据集函数
CUBEKPIMEMBER 返回重要性能指标 (KPI) 名称、属性和度量,并显示单元格中的名称和属性。KPI 是一项用于监视单位业绩的可量化的指标,如每月总利润或每季度雇员调整。
CUBEMEMBER 返回多维数据集层次结构中的成员或元组。用于验证多维数据集内是否存在成员或元组。
CUBEMEMBERPROPERTY 返回多维数据集内成员属性的值。用于验证多维数据集内是否存在某个成员名并返回此成员的指定属性。
CUBERANKEDMEMBER 返回集合中的第 n 个或排在一定名次的成员。用于返回集合中的一个或多个元素,如业绩排在前几名的销售人员或前 10 名学生。
CUBESET 通过向服务器上的多维数据集发送集合表达式来定义一组经过计算的成员或元组(这会创建该集合),然后将该集合返回到 Microsoft Office Excel。
CUBESETCOUNT 返回集合中的项数。
CUBEVALUE 返回多维数据集内的汇总值。
数据库函数
DAVERAGE 返回所选数据库条目的平均值
DCOUNT 计算数据库中包含数字的单元格的数量
DCOUNTA 计算数据库中非空单元格的数量
DGET 从数据库提取符合指定条件的单个记录
DMAX 返回所选数据库条目的最大值
DMIN 返回所选数据库条目的最小值
DPRODUCT 将数据库中符合条件的记录的特定字段中的值相乘
DSTDEV 基于所选数据库条目的样本估算标准偏差
DSTDEVP 基于所选数据库条目的样本总体计算标准偏差
DSUM 对数据库中符合条件的记录的字段列中的数字求和
DVAR 基于所选数据库条目的样本估算方差
DVARP 基于所选数据库条目的样本总体计算方差
日期和时间函数
DATE 返回特定日期的序列号
DATEVALUE 将文本格式的日期转换为序列号
DAY 将序列号转换为月份日期
DAYS360 以一年 360 天为基准计算两个日期间的天数
EDATE 返回用于表示开始日期之前或之后月数的日期的序列号
EOMONTH 返回指定月数之前或之后的月份的最后一天的序列号
HOUR 将序列号转换为小时
MINUTE 将序列号转换为分钟
MONTH 将序列号转换为月
NETWORKDAYS 返回两个日期间的全部工作日数
NOW 返回当前日期和时间的序列号
SECOND 将序列号转换为秒
TIME 返回特定时间的序列号
TIMEVALUE 将文本格式的时间转换为序列号
TODAY 返回今天日期的序列号
WEEKDAY 将序列号转换为星期日期
WEEKNUM 将序列号转换为代表该星期为一年中第几周的数字
WORKDAY 返回指定的若干个工作日之前或之后的日期的序列号
YEAR 将序列号转换为年
YEARFRAC 返回代表 start_date 和 end_date 之间整天天数的年分数
工程函数
BESSELI 返回修正的贝赛耳函数 In(x)
BESSELJ 返回贝赛耳函数 Jn(x)
BESSELK 返回修正的贝赛耳函数 Kn(x)
BESSELY 返回贝赛耳函数 Yn(x)
BIN2DEC 将二进制数转换为十进制数
BIN2HEX 将二进制数转换为十六进制数
BIN2OCT 将二进制数转换为八进制数
COMPLEX 将实系数和虚系数转换为复数
CONVERT 将数字从一种度量系统转换为另一种度量系统
DEC2BIN 将十进制数转换为二进制数
DEC2HEX 将十进制数转换为十六进制数
DEC2OCT 将十进制数转换为八进制数
DELTA 检验两个值是否相等
ERF 返回误差函数
ERFC 返回互补错误函数
GESTEP 检验数字是否大于阈值
HEX2BIN 将十六进制数转换为二进制数
HEX2DEC 将十六进制数转换为十进制数
HEX2OCT 将十六进制数转换为八进制数
IMABS 返回复数的绝对值(模数)
IMAGINARY 返回复数的虚系数
IMARGUMENT 返回参数 theta,即以弧度表示的角
IMCONJUGATE 返回复数的共轭复数
IMCOS 返回复数的余弦
IMDIV 返回两个复数的商
IMEXP 返回复数的指数
IMLN 返回复数的自然对数
IMLOG10 返回复数的以 10 为底的对数
IMLOG2 返回复数的以 2 为底的对数
IMPOWER 返回复数的整数幂
IMPRODUCT 返回从 2 到 29 的复数的乘积
IMREAL 返回复数的实系数
IMSIN 返回复数的正弦
IMSQRT 返回复数的平方根
IMSUB 返回两个复数的差
IMSUM 返回多个复数的和
OCT2BIN 将八进制数转换为二进制数
OCT2DEC 将八进制数转换为十进制数
OCT2HEX 将八进制数转换为十六进制数
财务函数
ACCRINT 返回定期支付利息的债券的应计利息
ACCRINTM 返回在到期日支付利息的债券的应计利息
AMORDEGRC 返回使用折旧系数的每个记帐期的折旧值
AMORLINC 返回每个记帐期的折旧值
COUPDAYBS 返回从付息期开始到成交日之间的天数
COUPDAYS 返回包含成交日的付息期天数
COUPDAYSNC 返回从成交日到下一付息日之间的天数
COUPNCD 返回成交日之后的下一个付息日
COUPNUM 返回成交日和到期日之间的应付利息次数
COUPPCD 返回成交日之前的上一付息日
CUMIPMT 返回两个付款期之间累积支付的利息
CUMPRINC 返回两个付款期之间为贷款累积支付的本金
DB 使用固定余额递减法,返回一笔资产在给定期间内的折旧值
DDB 使用双倍余额递减法或其他指定方法,返回一笔资产在给定期间内的折旧值
DISC 返回债券的贴现率
DOLLARDE 将以分数表示的价格转换为以小数表示的价格
DOLLARFR 将以小数表示的价格转换为以分数表示的价格
DURATION 返回定期支付利息的债券的每年期限
EFFECT 返回年有效利率
FV 返回一笔投资的未来值
FVSCHEDULE 返回应用一系列复利率计算的初始本金的未来值
INTRATE 返回完全投资型债券的利率
IPMT 返回一笔投资在给定期间内支付的利息
IRR 返回一系列现金流的内部收益率
ISPMT 计算特定投资期内要支付的利息
MDURATION 返回假设面值为 ¥100 的有价证券的 Macauley 修正期限
MIRR 返回正和负现金流以不同利率进行计算的内部收益率
NOMINAL 返回年度的名义利率
NPER 返回投资的期数
NPV 返回基于一系列定期的现金流和贴现率计算的投资的净现值
ODDFPRICE 返回每张票面为 ¥100 且第一期为奇数的债券的现价
ODDFYIELD 返回第一期为奇数的债券的收益
ODDLPRICE 返回每张票面为 ¥100 且最后一期为奇数的债券的现价
ODDLYIELD 返回最后一期为奇数的债券的收益
PMT 返回年金的定期支付金额
PPMT 返回一笔投资在给定期间内偿还的本金
PRICE 返回每张票面为 ¥100 且定期支付利息的债券的现价
PRICEDISC 返回每张票面为 ¥100 的已贴现债券的现价
PRICEMAT 返回每张票面为 ¥100 且在到期日支付利息的债券的现价
PV 返回投资的现值
RATE 返回年金的各期利率
RECEIVED 返回完全投资型债券在到期日收回的金额
SLN 返回固定资产的每期线性折旧费
SYD 返回某项固定资产按年限总和折旧法计算的每期折旧金额
TBILLEQ 返回国库券的等价债券收益
TBILLPRICE 返回面值 ¥100 的国库券的价格
TBILLYIELD 返回国库券的收益率
VDB 使用余额递减法,返回一笔资产在给定期间或部分期间内的折旧值
XIRR 返回一组现金流的内部收益率,这些现金流不一定定期发生
XNPV 返回一组现金流的净现值,这些现金流不一定定期发生
YIELD 返回定期支付利息的债券的收益
YIELDDISC 返回已贴现债券的年收益;例如,短期国库券
YIELDMAT 返回在到期日支付利息的债券的年收益
信息函数
CELL 返回有关单元格格式、位置或内容的信息
ERROR.TYPE 返回对应于错误类型的数字
INFO 返回有关当前操作环境的信息
ISBLANK 如果值为空,则返回 TRUE
ISERR 如果值为除 #N/A 以外的任何错误值,则返回 TRUE
ISERROR 如果值为任何错误值,则返回 TRUE
ISEVEN 如果数字为偶数,则返回 TRUE
ISLOGICAL 如果值为逻辑值,则返回 TRUE
ISNA 如果值为错误值 #N/A,则返回 TRUE
ISNONTEXT 如果值不是文本,则返回 TRUE
ISNUMBER 如果值为数字,则返回 TRUE
ISODD 如果数字为奇数,则返回 TRUE
ISREF 如果值为引用值,则返回 TRUE
ISTEXT 如果值为文本,则返回 TRUE
N 返回转换为数字的值
NA 返回错误值 #N/A
TYPE 返回表示值的数据类型的数字
逻辑函数
AND 如果其所有参数均为 TRUE,则返回 TRUE
FALSE 返回逻辑值 FALSE
IF 指定要执行的逻辑检测
NOT 对其参数的逻辑求反
OR 如果任一参数为 TRUE,则返回 TRUE
TRUE 返回逻辑值 TRUE
查找和引用函数
ADDRESS 以文本形式将引用值返回到工作表的单个单元格
AREAS 返回引用中涉及的区域个数
CHOOSE 从值的列表中选择值
COLUMN 返回引用的列号
COLUMNS 返回引用中包含的列数
GETPIVOTDATA 返回存储在数据透视表中的数据
HLOOKUP 查找数组的首行,并返回指定单元格的值
HYPERLINK 创建快捷方式或跳转,以打开存储在网络服务器、Intranet 或 Internet 上的文档
INDEX 使用索引从引用或数组中选择值
INDIRECT 返回由文本值指定的引用
LOOKUP 在向量或数组中查找值
MATCH 在引用或数组中查找值
OFFSET 从给定引用中返回引用偏移量
ROW 返回引用的行号
ROWS 返回引用中的行数
RTD 从支持 COM 自动化 (自动化:从其他应用程序或开发工具使用应用程序的对象的方法。以前称为“OLE 自动化”,自动化是一种工业标准和组件对象模型 (COM) 功能。)的程序中检索实时数据
TRANSPOSE 返回数组的转置
VLOOKUP 在数组第一列中查找,然后在行之间移动以返回单元格的值
数学和三角函数
ABS 返回数字的绝对值
ACOS 返回数字的反余弦值
ACOSH 返回数字的反双曲余弦值
ASIN 返回数字的反正弦值
ASINH 返回数字的反双曲正弦值
ATAN 返回数字的反正切值
ATAN2 返回 X 和 Y 坐标的反正切值
ATANH 返回数字的反双曲正切值
CEILING 将数字舍入为最接近的整数或最接近的指定基数的倍数
COMBIN 返回给定数目对象的组合数
COS 返回数字的余弦值
COSH 返回数字的双曲余弦值
DEGREES 将弧度转换为度
EVEN 将数字向上舍入到最接近的偶数
EXP 返回 e 的 n 次方
FACT 返回数字的阶乘
FACTDOUBLE 返回数字的双倍阶乘
FLOOR 向绝对值减小的方向舍入数字
GCD 返回最大公约数
INT 将数字向下舍入到最接近的整数
LCM 返回最小公倍数
LN 返回数字的自然对数
LOG 返回数字的以指定底为底的对数
LOG10 返回数字的以 10 为底的对数
MDETERM 返回数组的矩阵行列式的值
MINVERSE 返回数组的逆矩阵
MMULT 返回两个数组的矩阵乘积
MOD 返回除法的余数
MROUND 返回一个舍入到所需倍数的数字
MULTINOMIAL 返回一组数字的多项式
ODD 将数字向上舍入为最接近的奇数
PI 返回 pi 的值
POWER 返回数的乘幂
PRODUCT 将其参数相乘
QUOTIENT 返回除法的整数部分
RADIANS 将度转换为弧度
RAND 返回 0 和 1 之间的一个随机数
RANDBETWEEN 返回位于两个指定数之间的一个随机数
ROMAN 将阿拉伯数字转换为文本式罗马数
ROUND 将数字按指定位数舍入
ROUNDDOWN 向绝对值减小的方向舍入数字
ROUNDUP 向绝对值增大的方向舍入数字
SERIESSUM 返回基于公式的幂级数的和
SIGN 返回数字的符号
SIN 返回给定角度的正弦值
SINH 返回数字的双曲正弦值
SQRT 返回正平方根
SQRTPI 返回某数与 pi 的乘积的平方根
小计 返回列表或数据库中的分类汇总
SUM 求参数的和
SUMIF 按给定条件对若干单元格求和
SUMIFS 在区域中添加满足多个条件的单元格
SUMPRODUCT 返回对应的数组元素的乘积和
SUMSQ 返回参数的平方和
SUMX2MY2 返回两数组中对应值平方差之和
SUMX2PY2 返回两数组中对应值的平方和之和
SUMXMY2 返回两个数组中对应值差的平方和
TAN 返回数字的正切值
TANH 返回数字的双曲正切值
TRUNC 将数字截尾取整
统计函数
AVEDEV 返回数据点与它们的平均值的绝对偏差平均值
AVERAGE 返回其参数的平均值
AVERAGEA 返回其参数的平均值,包括数字、文本和逻辑值
AVERAGEIF 返回区域中满足给定条件的所有单元格的平均值(算术平均值)
AVERAGEIFS 返回满足多个条件的所有单元格的平均值(算术平均值)。
BETADIST 返回 Beta 累积分布函数
BETAINV 返回指定 Beta 分布的累积分布函数的反函数
BINOMDIST 返回一元二项式分布的概率值
CHIDIST 返回 χ2 分布的单尾概率
CHIINV 返回 γ2 分布的单尾概率的反函数
CHITEST 返回独立性检验值
CONFIDENCE 返回总体平均值的置信区间
CORREL 返回两个数据集之间的相关系数
COUNT 计算参数列表中数字的个数
COUNTA 计算参数列表中值的个数
COUNTBLANK 计算区域内空白单元格的数量
COUNTIF 计算区域内非空单元格的数量
COVAR 返回协方差,成对偏差乘积的平均值
CRITBINOM 返回使累积二项式分布小于或等于临界值的最小值
DEVSQ 返回偏差的平方和
EXPONDIST 返回指数分布
FDIST 返回 F 概率分布
FINV 返回 F 概率分布的反函数值
FISHER 返回 Fisher 变换值
FISHERINV 返回 Fisher 变换的反函数值
FORECAST 返回沿线性趋势的值
FREQUENCY 以垂直数组的形式返回频率分布
FTEST 返回 F 检验的结果
GAMMADIST 返回 γ 分布
GAMMAINV 返回 γ 累积分布函数的反函数
GAMMALN 返回 γ 函数的自然对数,Γ(x)
GEOMEAN 返回几何平均值
GROWTH 返回沿指数趋势的值
HARMEAN 返回调和平均值
HYPGEOMDIST 返回超几何分布
INTERCEPT 返回线性回归线的截距
KURT 返回数据集的峰值
LARGE 返回数据集中第 k 个最大值
LINEST 返回线性趋势的参数
LOGEST 返回指数趋势的参数
LOGINV 返回对数分布函数的反函数
LOGNORMDIST 返回对数累积分布函数
MAX 返回参数列表中的最大值
MAXA 返回参数列表中的最大值,包括数字、文本和逻辑值
MEDIAN 返回给定数值集合的中值
MIN 返回参数列表中的最小值
MINA 返回参数列表中的最小值,包括数字、文本和逻辑值
MODE 返回在数据集内出现次数最多的值
NEGBINOMDIST 返回负二项式分布
NORMDIST 返回正态累积分布
NORMINV 返回标准正态累积分布的反函数
NORMSDIST 返回标准正态累积分布
NORMSINV 返回标准正态累积分布函数的反函数
PEARSON 返回 Pearson 乘积矩相关系数
PERCENTILE 返回区域中数值的第 K 个百分点的值
PERCENTRANK 返回数据集中值的百分比排位
PERMUT 返回给定数目对象的排列数
POISSON 返回泊松分布
PROB 返回区域中的数值落在指定区间内的概率
QUARTILE 返回一列数字的数字排位
RANK 返回一列数字的数字排位
RSQ 返回 Pearson 乘积矩相关系数的平方
SKEW 返回分布的不对称度
SLOPE 返回线性回归线的斜率
SMALL 返回数据集中的第 K 个最小值
STANDARDIZE 返回正态化数值
STDEV 基于样本估算标准偏差
STDEVA 基于样本(包括数字、文本和逻辑值)估算标准偏差
STDEVP 基于整个样本总体计算标准偏差
STDEVPA 基于总体(包括数字、文本和逻辑值)计算标准偏差
STEYX 返回通过线性回归法预测每个 x 的 y 值时所产生的标准误差
TDIST 返回学生的 t 分布
TINV 返回学生的 t 分布的反函数
TREND 返回沿线性趋势的值
TRIMMEAN 返回数据集的内部平均值
TTEST 返回与学生的 t 检验相关的概率
VAR 基于样本估算方差
VARA 基于样本(包括数字、文本和逻辑值)估算方差
VARP 计算基于样本总体的方差
VARPA 计算基于总体(包括数字、文本和逻辑值)的标准偏差
WEIBULL 返回 Weibull 分布
ZTEST 返回 z 检验的单尾概率值
文本函数
ASC 将字符串中的全角(双字节)英文字母或片假名更改为半角(单字节)字符
BAHTTEXT 使用 ß(泰铢)货币格式将数字转换为文本
CHAR 返回由代码数字指定的字符
CLEAN 删除文本中所有非打印字符
CODE 返回文本字符串中第一个字符的数字代码
CONCATENATE 将几个文本项合并为一个文本项
DOLLAR 使用 $(美元)货币格式将数字转换为文本
EXACT 检查两个文本值是否相同
FIND、FINDB 在一个文本值中查找另一个文本值(区分大小写)
FIXED 将数字格式设置为具有固定小数位数的文本
JIS 将字符串中的半角(单字节)英文字母或片假名更改为全角(双字节)字符
LEFT、LEFTB 返回文本值中最左边的字符
LEN、LENB 返回文本字符串中的字符个数
LOWER 将文本转换为小写
MID、MIDB 从文本字符串中的指定位置起返回特定个数的字符
PHONETIC 提取文本字符串中的拼音(汉字注音)字符
PROPER 将文本值的每个字的首字母大写
REPLACE、REPLACEB 替换文本中的字符
REPT 按给定次数重复文本
RIGHT、RIGHTB 返回文本值中最右边的字符
SEARCH、SEARCHB 在一个文本值中查找另一个文本值(不区分大小写)
SUBSTITUTE 在文本字符串中用新文本替换旧文本
T 将参数转换为文本
TEXT 设置数字格式并将其转换为文本
TRIM 删除文本中的空格
UPPER 将文本转换为大写形式
VALUE 将文本参数转换为数字
④ sql常用语句格式及例子说明是什么呢
如下:
1、创建表:Create table 表名 ( s_id number(4) , s_name varchar2(10) , s_sex char(2) );
2、删除表:Drop table 表名;
3、重命名表名:Rename 旧表名 to 新表名 ;
4、添加列:Alter table 表名 add ( s_age number(3) );
5、删除列:Alter table 表名 drop( S_sex );
6、查询列表所有信息:Select * from 表名 ;
7、查询一个列表信息(加where条件):Select * from 表名 where s_id = 302。
sql创建后表的修改基础用法
添加列 :基本形式:alter table 表名 add 列名 列数据类型 [after 插入位置]。
1、在表的最后追加列 address: alter table students add address char(60); 2、在名为 age 的列后插入列 birthday: alter table students add birthday date after age;
修改列 :基本形式:alter table 表名 change 列名称 列新名称 新数据类型;
1、将表 tel 列改名为 telphone: alter table students change tel telphone char(13) default "-";
2、将 name 列的数据类型改为 char(16): alter table students change name name char(16) not nul。
⑤ sql数据库查询,只能查出第一条记录
'301',' 302',' 402'
除了第一个没空格,其他的都带空格了,' 302'所以只能查到301的
在程序里面先把空格替换了
⑥ DB2 数据导入 20100101,1,18,3,825,750867,1.000000,2.200000,2.200000,3133732,1,105 这个格式的
你是用的import还是用的load呀?导入时加一个日志输出嘛,看看从你的文件中读取了多少行数据,插入了多少行,最后提交了多少行
⑦ 常用的sql函数
--数据操作
2
3 SELECT --从数据库表中检索数据行和列
4 INSERT --向数据库表添加新数据行
5 DELETE --从数据库表中删除数据行
6 UPDATE --更新数据库表中的数据
7
8 --数据定义
9
10 CREATE TABLE --创建一个数据库表
11 DROP TABLE --从数据库中删除表
12 ALTER TABLE --修改数据库表结构
13 CREATE VIEW --创建一个视图
14 DROP VIEW --从数据库中删除视图
15 CREATE INDEX --为数据库表创建一个索引
16 DROP INDEX --从数据库中删除索引
17 CREATE PROCEDURE --创建一个存储过程
18 DROP PROCEDURE --从数据库中删除存储过程
19 CREATE TRIGGER --创建一个触发器
20 DROP TRIGGER --从数据库中删除触发器
21 CREATE SCHEMA --向数据库添加一个新模式
22 DROP SCHEMA --从数据库中删除一个模式
23 CREATE DOMAIN --创建一个数据值域
24 ALTER DOMAIN --改变域定义
25 DROP DOMAIN --从数据库中删除一个域
26
27 --数据控制
28
29 GRANT --授予用户访问权限
30 DENY --拒绝用户访问
31 REVOKE --解除用户访问权限
32
33 --事务控制
34
35 COMMIT --结束当前事务
36 ROLLBACK --中止当前事务
37 SET TRANSACTION --定义当前事务数据访问特征
38
39 --程序化SQL
40
41 DECLARE --为查询设定游标
42 EXPLAN --为查询描述数据访问计划
43 OPEN --检索查询结果打开一个游标
44 FETCH --检索一行查询结果
45 CLOSE --关闭游标
46 PREPARE --为动态执行准备SQL 语句
47 EXECUTE --动态地执行SQL 语句
48 DESCRIBE --描述准备好的查询
49
50 ---局部变量
51 declare @id varchar(10)
52 --set @id = 'sp'
53 select @id = 'sp'
54
55 ---全局变量
56 ---必须以@@开头
57 --IF ELSE
58 declare @x int @y int @z int
59 select @x = 1 @y = 2 @z=3
60 if @x > @y
61 print 'x > y' --打印字符串'x > y'
62 else if @y > @z
63 print 'y > z'
64 else print 'z > y'
65 --CASE
66 use pubs
67 update employee
68 set e_wage =
69 case
70 when job_level = ’1’ then e_wage*1.08
71 when job_level = ’2’ then e_wage*1.07
72 when job_level = ’3’ then e_wage*1.06
73 else e_wage*1.05
74 end
75 --WHILE CONTINUE BREAK
76 declare @x int @y int @c int
77 select @x = 1 @y=1
78 while @x < 3
79 begin
80 print @x --打印变量x 的值
81 while @y < 3
82 begin
83 select @c = 100*@x + @y
84 print @c --打印变量c 的值
85 select @y = @y + 1
86 end
87 select @x = @x + 1
88 select @y = 1
89 end
90 --WAITFOR
91
92 --例 等待1 小时2 分零3 秒后才执行SELECT 语句
93
94 waitfor delay ’01:02:03’
95 select * from employee
96
97 --例 等到晚上11 点零8 分后才执行SELECT 语句
98
99 waitfor time ’23:08:00’
100
101
102SELECT
103
104 select *(列名) from table_name(表名) where column_name operator value ex宿主)
105 select * from stock_information where stockid = str(nid)
106 stockname = 'str_name'
107 stockname like '% find that %'
108 stockname like '[a-zA-Z]%' --------- ([]指定值的范围)
109 stockname like '[^F-M]%' --------- (^排除指定范围)
110 --------- 只能在使用like关键字的where子句中使用通配符)
111 or stockpath = 'path'
112 or stocknumber < 1000
113 and stockindex = 24
114 not stocksex = 'man'
115 stocknumber between 20 and 100
116 stocknumber in(10,20,30)
117 order by stockid desc(asc) --------- 排序,desc-降序,asc-升序
118 order by 1,2 --------- by列号
119 stockname = (select stockname from stock_information where stockid = 4)
120 --------- 子查询
121 --------- 除非能确保内层select只返回一个行的值
122 --------- 否则应在外层where子句中用一个in限定符
123 select distinct column_name form table_name
124 --------- distinct指定检索独有的列值,不重复
125 select stocknumber ,"stocknumber + 10" = stocknumber + 10 from table_name
126 select stockname , "stocknumber" = count(*) from table_name group by stockname
127 --------- group by 将表按行分组,指定列中有相同的值
128 having count(*) = 2 --------- having选定指定的组
129
130 select *
131 from table1, table2
132where table1.id *= table2.id -------- 左外部连接,table1中有的而table2中没有得以null表示
133 table1.id =* table2.id -------- 右外部连接
134 select stockname from table1
135 union [all] -------- union合并查询结果集,all-保留重复行
136 select stockname from table2
137
138 insert
139
140 insert into table_name (Stock_name,Stock_number) value ("xxx","xxxx"
141 value (select Stockname , Stocknumber from Stock_table2)
142 -------value为select语句
143
144 update
145
146 update table_name set Stockname = "xxx" [where Stockid = 3]
147 Stockname = default
148 Stockname = null
149 Stocknumber = Stockname + 4
150
151 delete
152
153 delete from table_name where Stockid = 3
154 truncate table 表名 --------- 删除表中所有行,仍保持表的完整性
155 drop table table_name --------- 完全删除表
156
157 alter table -------- 修改数据库表结构
158
159 alter table database.owner.table_name add column_name char(2) null ..
160 sp_help 表名 -------- 显示表已有特征
161 create table table_name (name char(20), age smallint, lname varchar(30))
162 insert into table_name select -------- 实现删除列的方法(创建新表)
163 alter table table_name drop constraint Stockname_default
164 --------- 删除Stockname的default约束
165
166
167常用函数(function)
168转换函数
169convert(数据类型,值,格式)
170
171 统计函数
172
173 AVG --求平均值
174 COUNT --统计数目
175 MAX --求最大值
176 MIN --求最小值
177 SUM --求和
178 STDEV()
179
180 --STDEV()函数返回表达式中所有数据的标准差
181 --STDEVP()
182 --STDEVP()函数返回总体标准差
183
184 VAR()
185
186 --VAR()函数返回表达式中所有值的统计变异数
187
188 VARP()
189
190 --VARP()函数返回总体变异数
191
192 算术函数
193
194 三角函数
195
196 SIN(float_expression) --返回以弧度表示的角的正弦
197 COS(float_expression) --返回以弧度表示的角的余弦
198 TAN(float_expression) --返回以弧度表示的角的正切
199 COT(float_expression) --返回以弧度表示的角的余切
200
201 反三角函数
202
203 ASIN(float_expression) --返回正弦是FLOAT 值的以弧度表示的角
204 ACOS(float_expression) --返回余弦是FLOAT 值的以弧度表示的角
205 ATAN(float_expression) --返回正切是FLOAT 值的以弧度表示的角
206 ATAN2(float_expression1,float_expression2)
207 ------返回正切是float_expression1 /float_expres-sion2的以弧度表示的角
208 DEGREES(numeric_expression)
209 ------把弧度转换为角度返回与表达式相同的数据类型可为
210 ------INTEGER/MONEY/REAL/FLOAT 类型
211 RADIANS(numeric_expression)
212------把角度转换为弧度返回与表达式相同的数据类型可为
213
214 ------INTEGER/MONEY/REAL/FLOAT 类型
215 EXP(float_expression) --返回表达式的指数值
216 LOG(float_expression) --返回表达式的自然对数值
217 LOG10(float_expression)--返回表达式的以10 为底的对数值
218 SQRT(float_expression) --返回表达式的平方根
219
220 取近似值函数
221
222 CEILING(numeric_expression)
223-------返回>=表达式的最大整数返回的数据类型与表达式相同可为
224 -------INTEGER/MONEY/REAL/FLOAT 类型
225 FLOOR(numeric_expression)
226-------返回<=表达式的最小整数返回的数据类型与表达式相同可为
227 -------INTEGER/MONEY/REAL/FLOAT 类型
228 ROUND(numeric_expression)
229-------返回以integer_expression 为精度的四舍五入值返回的数据
230 -------类型与表达式相同可为INTEGER/MONEY/REAL/FLOAT 类型
231 ABS(numeric_expression)
232-------返回表达式的绝对值返回的数据类型与表达式相同可为
233 -------INTEGER/MONEY/REAL/FLOAT 类型
234 SIGN(numeric_expression)
235-------测试参数的正负号返回0 零值1 正数或-1 负数返回的数据类型
236 -------与表达式相同可为INTEGER/MONEY/REAL/FLOAT 类型
237 PI() -------返回值为π 即3.1415926535897936
238 RAND([integer_expression])
239-------用任选的[integer_expression]做种子值得出0-1 间的随机浮点数
240字符串函数
241
242 ASCII() ------函数返回字符表达式最左端字符的ASCII 码值
243 CHAR() ------函数用于将ASCII 码转换为字符
244 ------如果没有输入0 ~ 255 之间的ASCII 码值CHAR 函数会返回一个NULL 值
245 LOWER() ------函数把字符串全部转换为小写
246 UPPER() ------函数把字符串全部转换为大写
247 STR() ------函数把数值型数据转换为字符型数据
248 LTRIM() ------函数把字符串头部的空格去掉
249 RTRIM() ------函数把字符串尾部的空格去掉
250 LEFT(),RIGHT(),SUBSTRING() --函数返回部分字符串
251 CHARINDEX(),PATINDEX() --函数返回字符串中某个指定的子串出现的开始位置
252 SOUNDEX() ------函数返回一个四位字符码
253 ------SOUNDEX函数可用来查找声音相似的字符串但SOUNDEX函数对数字和汉字均只返回0 值
254 DIFFERENCE() ------函数返回由SOUNDEX 函数返回的两个字符表达式的值的差异
255 ------0 两个SOUNDEX 函数返回值的第一个字符不同
256 ------1 两个SOUNDEX 函数返回值的第一个字符相同
257 ------2 两个SOUNDEX 函数返回值的第一二个字符相同
258 ------3 两个SOUNDEX 函数返回值的第一二三个字符相同
259 ------4 两个SOUNDEX 函数返回值完全相同同
260 QUOTENAME() ------函数返回被特定字符括起来的字符串
261
262 /**//**//**//*select quotename('abc', '{') quotename('abc')
263 运行结果如下
264
265 {
266 {abc} [abc]*/
267 REPLICATE() ------函数返回一个重复character_expression 指定次数的字符串
268 /**//**//**//*select replicate('abc', 3) replicate( 'abc', -2)
269
270 运行结果如下
271
272 abcabcabc NULL*/
273 REVERSE() ------函数将指定的字符串的字符排列顺序颠倒
274 REPLACE() ------函数返回被替换了指定子串的字符串
275 /**//**//**//*select replace('abc123g', '123', 'def')
276
277 运行结果如下
278
279 abcdefg*/
280
281 SPACE() ------函数返回一个有指定长度的空白字符串
282 STUFF() ------函数用另一子串替换字符串指定位置长度的子串
283
284 数据类型转换函数
285
286 CAST() 函数语法如下
287 CAST() ( AS [ length ])
288 CONVERT() 函数语法如下
289 CONVERT() ([ length ], [, style])
290 select cast(100+99 as char) convert(varchar(12), getdate())
291
292 运行结果如下
293 199 Jan 15 2000
294
295 日期函数
296
297 DAY() ------函数返回date_expression 中的日期值
298 MONTH() ------函数返回date_expression 中的月份值
299 YEAR() ------函数返回date_expression 中的年份值
300 DATEADD( , ,)
301 -----函数返回指定日期date 加上指定的额外日期间隔number 产生的新日期
302 DATEDIFF( , ,)
303 -----函数返回两个指定日期在datepart 方面的不同之处
304
305 DATENAME( , ------函数以字符串的形式返回日期的指定部分
306 DATEPART( , ------函数以整数值的形式返回日期的指定部分
307 GETDATE() ------函数以DATETIME 的缺省格式返回系统当前的日期和时间
308
309 系统函数
310
311 APP_NAME() ------函数返回当前执行的应用程序的名称
312 COALESCE() -----函数返回众多表达式中第一个非NULL 表达式的值
313 COL_LENGTH(<'table_name'>, <'column_name'> ----函数返回表中指定字段的长度值
314 COL_NAME(, ----函数返回表中指定字段的名称即列名
315 DATALENGTH() -----函数返回数据表达式的数据的实际长度
316 DB_ID(['database_name']) ------函数返回数据库的编号
317 DB_NAME(database_id) ------函数返回数据库的名称
318 HOST_ID() -----函数返回服务器端计算机的名称
319 HOST_NAME() -----函数返回服务器端计算机的名称
320 IDENTITY([, seed increment]) [AS column_name])
321 --IDENTITY() 函数只在SELECT INTO 语句中使用用于插入一个identity column列到新表中
322 /**//**//**//*select identity(int, 1, 1) as column_name
323 into newtable
324 from oldtable*/
325
326 ISDATE() ----函数判断所给定的表达式是否为合理日期
327 ISNULL(, --函数将表达式中的NULL 值用指定值替换
328 ISNUMERIC() ----函数判断所给定的表达式是否为合理的数值
329 NEWID() ----函数返回一个UNIQUEIDENTIFIER 类型的数值
330 NULLIF(,
331 ----NULLIF 函数在expression1 与expression2 相等时返回NULL 值若不相等时则返回xpression1 的值
⑧ 如何解决DataStage抽取数据报SQL0302N错
: SQLSTATE=22001 sqlcode = -302 的意思是“输入的变量值对指定的列无效” 你应该是列没对应上吧
⑨ SQL Server2008中查询学号是302的学生的课程名和成绩
select 课程名字段,成绩字段 from 表名 where 学号 =302
⑩ 如何解决DataStage抽取数据报SQL0302N错
SQLSTATE=22001
sqlcode = -302
的意思是“输入的变量值对指定的列无效”
你应该是列没对应上吧