一、字符函数
1、大小写控制函数
(1)LOWER LOWER(‘AbC kpl’) → abc kpl
把大写转为小写
(2)UPPER UPPER(‘AbC kPl’) → ABC KPL
把小写转为大写
(3)INITCAP INITCAP(‘AbC kPl’) → Abc Kpl
首字母大写
2、字符控制函数
(1)CONCAT(‘abc’ , ‘kpl’) → abckpl
连接两个字符串
(2)SUBSTR(‘abckpl’ , 1 , 3) → abc
截取对应位置的字母
(3)LENGTH(‘abckpl’) → 6
计算引号里有多少个字母
(4)INSTR(‘abckpl’ , ‘k’) → 4
查看‘abckpl’里第几个是‘k’
(5)LPAD(salary , 10 , ‘*’ ) → *****10000
如果结果没有10位,就在左面填充*
(6)RPAD(salary, 10 , ‘*’ ) → 10000*****
如果结果没有10位,就在右面填充*
(7)TRIM(‘a’ FROM ‘abckpl’) → bckpl
在‘abckpl’中去掉‘a’
(8)REPLACE(‘abckpl’ , ‘b’ , ‘d’) → adckpl
把‘abckpl’中的‘b’ 替代成 ‘d’
二、数字函数
1、ROUND ROUND(3.1415 , 3) → 3.142
四舍五入
2、TRUNC TRUNC(3.1415 , 3) → 3.14
截断
3、MOD MOD(1300 , 300) → 100
求余
三、日期函数(默认格式为:yyyy/M/d )
1、MONTHS_BETWEEN MONTHS_BETWEEN(‘ 01 - 9月 - 95’ , ’11 -1月 - 94’) → 19.6774194
两个日期相差的月数
2、ADD_MONTHS ADD_MONTHS(‘ 11 - 1月 - 94’ , 6) → ‘ 11 - 7月 - 94’
向指定日期中加上若干月数
3、NEXT_DAY NEXT_DAY(‘ 01 - 9月 - 95’ , ‘FRIDAY’) → '08-9月 -95'
指定日期的下一个星期 * 对应的日期
4、LAST_DAY LAST_DAY( '01-2月-95' ) → '28-2月-95'
本月的最后一天
5、ROUND ROUND( '25- 7月 -95' , 'MONTH' ) → '01 – 8月 - 95'
ROUND( '25- 7月 -95' , 'YEAR' ) → '01 – 1月 - 95'
日期四舍五入
6、TRUNC TRUNC( '25- 7月 -95' , 'MONTH' ) → '01 – 7月 - 95'
TRUNC ( '25- 7月 -95' , 'YEAR' ) → '01 – 1月 - 95'
日期截断
补:yyyy年 mm月 dd日 day星期 hh小时 mi分钟 ss秒
四、转换函数
1、隐式数据类型转换
Oracle自动完成下列转换:
VARCHAR2 or CHAR → NUMBER
VARCHAR2 or CHAR → DATW
NUMBER → VARCHAR2
DATE → VARCHAR2
2、显式数据类型转换
TO_DATE : CHARACTER → DATE
TO_NUMBER : CHARACTER → NUMBER
TO_CHAR : DATE → CHARACTER
NUMBER → CHARACTER
3、TO_CHAR函数对日期的转换:
4、TO_DATE 函数对字符的转换:
5、TO_CHAR函数对数字的转换:
6、TO_NUMBER 函数对字符的转换:
7、通用函数
这些函数适用于任何数据类型,包括空值
NVL
NVL2
NULLIF
COALESCE