在操作SQL语句的时候, 很多时候记不住具体的函数如何使用, 查找联机帮助还是嫌麻烦, 且有很多时候例子也不好懂, 下面对每个常用的函数用用例子说明,一目了然,你自己在数据库中执行一下,结果就知道什么回事了
SQL中的函数也分两种函数:1、单行函数;2、多行函数
- 单行函数:单行函数只对行数据进行变换,每一行返回一个结果,常用单行函数有以下几种:
- 字符函数:
函数 | 结果 | 描述 |
---|
LOWER(I Love ORACLE) | i love oracle | 字符串转为小写 |
UPPERER(I Love ORACLE) | I LOVE ORACLE | 字符串转为大写 |
LOWER(I Love ORACLE) | I Love Oracle | 字符串首字母为大写 |
CONCAT(‘Hello’,’World’) | HelloWorld | 连接字符串 |
SUBSTR(‘HelloWorld’,1,5) | Hello | 截取字符串 |
LENGTH(‘HelloWorld’) | 10 | 检测字符串长度 |
INSTR(‘HelloWorld’,’W’) | 6 | 检测字符串索引 |
LPAD(‘20000’,8,’*’) | ***20000 | 字符串左填充 |
RPAD(‘20000’,8,’*’) | 20000*** | 字符串右填充 |
TRIM(‘H’ FROM ‘HelloWorld’) | elloWorld | 去掉指定的字符串 |
REPLACE(‘ORBCLE’,’B’,’A’) | ORACLE | 替换字符串 |
- 数字函数:
函数 | 结果 | 描述 |
---|
ROUND(38.886,2) | 38.89 | 四舍五入 |
TRUNC(38.88,2) | 38.88 | 截断 |
MOD(1600,300) | 100 | 求余 |
- 日期函数:
函数 | 描述 |
---|
MONTHS_BETWEEN | 两个日期相差的月数 |
ADD_MONTHS | 向指定日期中加上若干个月数 |
NEXT_DAY | 指定日期的下一个星期*对应的日期 |
LAST_DAY | 本月的最后一天 |
ROUND | 日期的四舍五入 |
TRUNC | 日期截断 |
- 转换函数
函数 | 描述 |
---|
TO_DATE | 转换成日期类型 |
TO_CHAR | 转换成字符串类型 |
TO_NUMBER | 转换成数字类型函数 |
- 通用函数
函数 | 描述 |
---|
NVL(exp1,exp2) | 将空值转换成一个已知的值 |
NVL2(exp1,exp2,exp3) | expr1不为NULL,返回expr2;为NULL,返回expr3 |
NULLIF (exp1,exp2) | 相等返回NULL,不等返回expr1 |
COALESCE(exp1,exp2,…,expn) | 如果第一个表达式为空,则返回下一个表达式 |
- 多行函数:也叫分组函数,作用于一组数据,并对一组数据返回一个值,一般结合GROUP BY(分组)和HAVING(过滤)来使用,以下是常用的函数:
函数 | 描述 |
---|
COUNT | 计数 |
AVG | 平均 |
SUM | 合计 |
MAX | 最大值 |
MIN | 最小值 |