一、单行字符型函数
常用的字符型函数有:
CANCAT(字符窜1,字符串2) 该函数用于连接两个字符串:select CONCAT(ename,'测试') from emp;
SUBSTR(字符串,n,m) 该函数用于截取字符串,n表示才第几个字符开始,m表示长度
UPPER(字符串) 该函数用于将字符串变为大写
LOWER(字符串) 将字符串变为小写
INITCAP(字符串) 将单词的每个字母转为大写:select INITCAP('my name is oracle') from dual; 结果 My Name Is Oracle
LENGTH(字符串) 计算字符串的长度
INSERT
TRIM
数字型函数
ROUND(列名|表达式,n) 将列名或者表达式表示的数字四舍五入到小数点后的n位
TRUNC(列名|表达式,n) 将列表或者表达式的字符截取到小数点后的n位
MOD(m,n) 将m除以n并取余数
实例:
select ROUND(168.888,1),TRUNC(168.888,1) from dual; 结果168.9 168.8
select ROUND(168.888,-1),TRUNC(168.888,-1) from dual; 结果170 160
将ROUND函数用于日期:
select ROUND(TO_DATE('28-OCT-01'),'MONTH') from dual,结果为:01-NOV-01,因为四舍五入是按照月份来计算的,而OCT为10
月,28号就10月的下半月四舍五入后变为11月1号了
select ROUND(TO_DATE('28-OCT-01'),'YEAR') from dual,结果为:01-JAN-02,因为四舍五入按照年份来计算,10月28号为下半年,所以四舍五入后的结果为02年的1月1号
select TRUNC(TO_DATE('28-OCT-01'),'MONTH') from dual,结果为:01-OCT-01
select TRUNC(TO_DATE('28-OCT-01'),'YEAR') from dual,结果为:01-JAN-01
日期型函数
sysdate 查看当前日期
TO_DATE('日期字符串') 将字符串转换为日期
日期和数字相加或者相减得到的结果任然为日期。日期和日期相减得到的结果为数字
MONTHS_BETWEEN (日期1,日期2) 该函数是返回日期1与日期2的月数
ADD_MONTHS(日期,n) 该函数是把n个月加到日期上
NEXT_DAY(日期,字符串) 该函数是返回下一个字符串(星期的字符串)指定的日期
实例:select NEXT_DAY('10-MAY-02','MONDAY') from dual; 结果是:13-MAY-02
LAST_DAY(日期) 返回该日期所在月的最后一天
二、不同数据类型之间的显示转换
TO_DATE('字符串') 将字符串转换为日期类型
TO_CHAR(日期,'yyyy-MM-dd') 将日期转换为某种格式的字符串
TO_NUMBER