1.常见字符串操作函数
select upper('coolszy') from dual; --将小写字母转换成大写,dual 为一虚表
select lower('KUKA') from dual; --将大写字母转换成小写
select initcap('kuka') from dual; --将首字母大写 Kuka
select concat('Hello',' world') from dual; --连接字符串,但没有||好用select concat('Hello','world') from dual;
select substr('hello',1,3) from dual; --截取字符串 hel
select length('hello') from dual; --求字符串长度 5
select replace('hello','l','x') from dual; --替换字符串 hexxo
select substr('hello',-4,3) from dual; --截取后三位 ell 从后面开始计算 -1 -2 -3 -4
select instr('abcd','a') from dual ; --寻找字符串的位置 1
2.Trunc函数,Round函数(四舍五入),Mod函数(求余)操作
select round(789.536) from dual; --四舍五入,舍去小数 790
select round(789.536,2) from dual; --保留两位小数 789.54
select round(789.536,-1) from dual; --对整数进行四舍五入 790
select trunc(789.536) from dual; --舍去小数,但不进位 789
select trunc(789.536,2) from dual; -- 保留两位小数 789.53
select trunc(789.536,-2) from dual; -- 700
select trunc(sysdate) from dual ; --得到2013/12/17表示日期不变
select trunc(sysdate,'dd') from dual ; --得到2013/12/17表示日期不变
select trunc(sysdate,'mm') from dual ; --得到2013/12/1 表示月份不变其他置为1
select trunc(sysdate,'yyyy') from dual ; --得到 2013/1/1 表示年份不变其他置为1
select mod(10,3) from dual; --返回10%3的结果 10 - 3*3 = 1 所以等于1
3.日期函数
select sysdate from dual; --返回当前日期
select months_between(sysdate,'27-5月 -13') from dual;--返回之间的月数 注意格式 13是年份 27是日期
select add_months(sysdate,4) from dual; --在日期上加上月数
select next_day(sysdate,'星期一') from dual;--下个星期一的时间
select last_day(sysdate) from dual; --求本月的最后一天
4.通用函数
select nvl(null,0) from dual; --如果为null,则用0代替
select decode(3,1,'内容是1',2,'内容是2',3,'内容是3') from dual;--类似于 switch...case...