SQL语言运算符与函数
表1 各种运算符
+++++++++++++++++++++++++++++++++++++++++++++++++
运算符 含 义
= 相等
!=或<> 不等于
> 大于
>= 大于等于
< 小于
<= 小于等于
IN(列表) 等于列表中的任意值
BETWEEN值1 AND值2 大于等于值1并且小于等于值2
LIKE%或- 模式匹配。“%”匹配0个或任意个字符,“-”匹配一个字符
IS NULL 空值
IS NOT NULL 非空值
NOT 逻辑非
AND 逻辑与
OR 逻辑或
+++++++++++++++++++++++++++++++++++++++++++++++++
表2 字符函数列表
+++++++++++++++++++++++++++++++++++++++++++++++++
函数 功能 注释
ASCII(char) 计算char的第一个字符的ASCII值或EBCDIC码值 函数返回值取决于计算机系统采用的字符
CHAR(n) 计算ASCⅡ码值或EBCDIC码值是n的字符 函数n依赖于计算机系统采用的字符集,n的取值为0~127或0~254之间
INITCAP(char) 将char串口的每个单词的首字母变成大写,其余字母变为小写
单词之间用数字、空格、逗号、顿号、冒号、分号、句号、1、@、#、$等字符分隔
INSTR(char1,char[,m[,n]]) 求char1中从m位置起char2第n次出现的位置 m,n缺省值为1,当>0时,
表示从char1的首部起始(从左向右)正向搜索; n<0时,表示从char1的尾部起始(从右向左)反向搜索
LENGTH(char) 计算字符串char的长度
LOWER(char) 将char中所有的字母改成小写
LPAD(char1,n[,char2]) 从左侧用char2补齐char1至长度n
char2省略时,用空格填充,n<char1的长度时,表示截取char1从左至右侧n个字符
RPAD(char1,n[,char2]) 从右侧用char2补齐char1至长度n
char2省略时,用空格填充,n<char1的长度时,表示截取char1右侧n个符
LTRIM(char[,SET]) 把char1中最左侧的若干个字符去掉,以使其首字符不在SET中
SET表示单个字符组在的字符集合。SET若被省略时,表示截取char左边的前置空格
RTRIM(char[,SET]) 把char中最右侧的若干个字符去掉,以使其尾字符不在SET中
SET表示单个字符组成的字符集合。SET若被省略时,表示截取char右边的后置空格
REPLACE(char1,char2[,char3] 将char1中出现的所有char2用char3来代替 char2和char3同时被省略时,
函数返回NULL,仅char3省略时,则表示删除char1中出现的所有char2
SOUNDEX(char) 求与char中一个或多个单词发音相同的字符串
SUBSTR(char,m[,n]) 返回char中第m个字符起始n个字符长的子串 n省略时,表示截取char中第m个字符后的子串
TRANSLATE(char1,from,to) 将from字符集转换为to字符集,char中以from表达的字符用to中相对应的字符所代替
UPPER(char) 将char中所有的字母改变大写
+++++++++++++++++++++++++++++++++++++++++++++++++
表3 数值函数列表
+++++++++++++++++++++++++++++++++++++++++++++++++
函数 功能 注释
ABS(n) 计算n的绝对值
允许是数值型常数、数值型列名、包含一个有效数值的文字串或包含一个有效数值的字符型列名
CELL(n) 计算大于或等于n的最小整数 数学中的向上取整运算
FLOOR(n) 计算大于或等于n的最大整数 数学中的向下取整运算
MOD(m,n) 计算m除以n的余数n=0时,返回m MOD(m,1)=0说明m是一个整数
POWER(m,n) ROUND(m,[,n]) 计算m的n次方,n>0时,将m四舍五入到小数点右边n位n<0时,
将m四舍五入到小数点左边n位 n要求为整数,否则出错n=0或n被省略表示对m进行取整
SIGN(n) 判断n的正负 如果n>0,函数返回1;n=0,函数反加0,n<0,函数反回
SQRT(n) TRUNC(m,[,n]) 计算n的平方根,n>0时,将m小数点右边n位截断;n<0时,将m小数点左边的n位后各位截断
并添加n个0 n<0时,函数返回NULLn=0或n被省略表示对m进行取整
表4 日期函数列表
+++++++++++++++++++++++++++++++++++++++++++++++++
函数 功能 注释
ADD_MONTHS(d,n) 计算d加上n个月的日期
n要求为整数,n>0时,返回d之后n个月的日期;n<0时,返回d之前n个月的日期
LAST_DAY(d) 计算d所在月份最后一天的日期 用来确定给定月份中的天数
MONTHS_BETWEEN(d1,d2) 计算d1和d2之间相隔的月数 返加结果>0时,表示d1晚于d2;返回结果<0时,表示d1早于d2
NEXT_DAY(d,s) 计算晚于d的第一个s的日期
s要求是’Sunday’,’Monday’,’Tuesday’,’Wednesday’,’Thursday’,’Friday’或’Saturday’
SYSDATE 求系统当前日期和时间
+++++++++++++++++++++++++++++++++++++++++++++++++
表5 聚组函数列表
+++++++++++++++++++++++++++++++++++++++++++++++++
函 数 功 能
AVG(e) 计算一组行中e值的平均值
COUNT(e) 计算一组行中e值为非空值的行数
COUNT(*) 计算表中的行数(包括重复值和空值)
MAX(e) 计算一组行中e值的最大值
MIN(e) 计算一组行中e值的最小值
STDDEV(e) 计算一组行中e值的标准差
SUM(e) 计算一组行中e值的总和
VARIANCE(e) 计算一组行中e值的方差
+++++++++++++++++++++++++++++++++++++++++++++++++
表1 各种运算符
+++++++++++++++++++++++++++++++++++++++++++++++++
运算符 含 义
= 相等
!=或<> 不等于
> 大于
>= 大于等于
< 小于
<= 小于等于
IN(列表) 等于列表中的任意值
BETWEEN值1 AND值2 大于等于值1并且小于等于值2
LIKE%或- 模式匹配。“%”匹配0个或任意个字符,“-”匹配一个字符
IS NULL 空值
IS NOT NULL 非空值
NOT 逻辑非
AND 逻辑与
OR 逻辑或
+++++++++++++++++++++++++++++++++++++++++++++++++
表2 字符函数列表
+++++++++++++++++++++++++++++++++++++++++++++++++
函数 功能 注释
ASCII(char) 计算char的第一个字符的ASCII值或EBCDIC码值 函数返回值取决于计算机系统采用的字符
CHAR(n) 计算ASCⅡ码值或EBCDIC码值是n的字符 函数n依赖于计算机系统采用的字符集,n的取值为0~127或0~254之间
INITCAP(char) 将char串口的每个单词的首字母变成大写,其余字母变为小写
单词之间用数字、空格、逗号、顿号、冒号、分号、句号、1、@、#、$等字符分隔
INSTR(char1,char[,m[,n]]) 求char1中从m位置起char2第n次出现的位置 m,n缺省值为1,当>0时,
表示从char1的首部起始(从左向右)正向搜索; n<0时,表示从char1的尾部起始(从右向左)反向搜索
LENGTH(char) 计算字符串char的长度
LOWER(char) 将char中所有的字母改成小写
LPAD(char1,n[,char2]) 从左侧用char2补齐char1至长度n
char2省略时,用空格填充,n<char1的长度时,表示截取char1从左至右侧n个字符
RPAD(char1,n[,char2]) 从右侧用char2补齐char1至长度n
char2省略时,用空格填充,n<char1的长度时,表示截取char1右侧n个符
LTRIM(char[,SET]) 把char1中最左侧的若干个字符去掉,以使其首字符不在SET中
SET表示单个字符组在的字符集合。SET若被省略时,表示截取char左边的前置空格
RTRIM(char[,SET]) 把char中最右侧的若干个字符去掉,以使其尾字符不在SET中
SET表示单个字符组成的字符集合。SET若被省略时,表示截取char右边的后置空格
REPLACE(char1,char2[,char3] 将char1中出现的所有char2用char3来代替 char2和char3同时被省略时,
函数返回NULL,仅char3省略时,则表示删除char1中出现的所有char2
SOUNDEX(char) 求与char中一个或多个单词发音相同的字符串
SUBSTR(char,m[,n]) 返回char中第m个字符起始n个字符长的子串 n省略时,表示截取char中第m个字符后的子串
TRANSLATE(char1,from,to) 将from字符集转换为to字符集,char中以from表达的字符用to中相对应的字符所代替
UPPER(char) 将char中所有的字母改变大写
+++++++++++++++++++++++++++++++++++++++++++++++++
表3 数值函数列表
+++++++++++++++++++++++++++++++++++++++++++++++++
函数 功能 注释
ABS(n) 计算n的绝对值
允许是数值型常数、数值型列名、包含一个有效数值的文字串或包含一个有效数值的字符型列名
CELL(n) 计算大于或等于n的最小整数 数学中的向上取整运算
FLOOR(n) 计算大于或等于n的最大整数 数学中的向下取整运算
MOD(m,n) 计算m除以n的余数n=0时,返回m MOD(m,1)=0说明m是一个整数
POWER(m,n) ROUND(m,[,n]) 计算m的n次方,n>0时,将m四舍五入到小数点右边n位n<0时,
将m四舍五入到小数点左边n位 n要求为整数,否则出错n=0或n被省略表示对m进行取整
SIGN(n) 判断n的正负 如果n>0,函数返回1;n=0,函数反加0,n<0,函数反回
SQRT(n) TRUNC(m,[,n]) 计算n的平方根,n>0时,将m小数点右边n位截断;n<0时,将m小数点左边的n位后各位截断
并添加n个0 n<0时,函数返回NULLn=0或n被省略表示对m进行取整
表4 日期函数列表
+++++++++++++++++++++++++++++++++++++++++++++++++
函数 功能 注释
ADD_MONTHS(d,n) 计算d加上n个月的日期
n要求为整数,n>0时,返回d之后n个月的日期;n<0时,返回d之前n个月的日期
LAST_DAY(d) 计算d所在月份最后一天的日期 用来确定给定月份中的天数
MONTHS_BETWEEN(d1,d2) 计算d1和d2之间相隔的月数 返加结果>0时,表示d1晚于d2;返回结果<0时,表示d1早于d2
NEXT_DAY(d,s) 计算晚于d的第一个s的日期
s要求是’Sunday’,’Monday’,’Tuesday’,’Wednesday’,’Thursday’,’Friday’或’Saturday’
SYSDATE 求系统当前日期和时间
+++++++++++++++++++++++++++++++++++++++++++++++++
表5 聚组函数列表
+++++++++++++++++++++++++++++++++++++++++++++++++
函 数 功 能
AVG(e) 计算一组行中e值的平均值
COUNT(e) 计算一组行中e值为非空值的行数
COUNT(*) 计算表中的行数(包括重复值和空值)
MAX(e) 计算一组行中e值的最大值
MIN(e) 计算一组行中e值的最小值
STDDEV(e) 计算一组行中e值的标准差
SUM(e) 计算一组行中e值的总和
VARIANCE(e) 计算一组行中e值的方差
+++++++++++++++++++++++++++++++++++++++++++++++++
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29500582/viewspace-1349028/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29500582/viewspace-1349028/