1. lower(argo) 将大写字符转换为小写字符
2. upper(arg1) 将小写字符转化为大写
3. initcap(arg1) 单词首字母大写
4. dsubstr(arg0, arg1) 将arg0中的字符串从第arg1截取到最后(截取后的字符包括第arg1字符)
5. substr(a,b,c) 将a 中的字符串从第b截取,截取长度为c
6. lpad(a,b,c) 在a字符中向左填充b c个长度
7 rpad(a,b,c) 在a字符中向右填充b c个长度
8. trim(a from b) 在a字符串的两端取出b字符
9. replace(a,b,c) 将a字符串中的b替换成c
2. 数字函数
1. mod(a,b) a对b取莫
2. round(a,b) 注意:当b为正整数时则a保留两位小数,如果大于小数个数则返回原来的数字
为o则返回整数,若b为负数则对小数前的正整数部分进行取舍。
3. trunc(a,b) 截取,b为几则保存小数几位,若为负数则截取整数部分,从各位开始,截取后补零
3. 日期函数
1. to_char(sysdate [,b]) 将时间转换为字符串,可以指定转换后的格式
eg:select to_char(sysdate,'yyyy-MM-dd hh24:mi:ss') from dual
2. systemstamp 显示时间戳
3. sysdate-1 时间可以做加减这里默认加的是一天
eg:select to_char(sysdate-1) from dual;
4. months_between(a,b) 计算两个时间的差值
5. add_months(a,b) 在a日期上加上b个月
7. last_day(a); a时间所月的最后一天对应的日期
8. next_day(a,b)在a日期的下一个b时间的日期
eg: select next_day(sysdate,'星期一') from dual
9. round(a,b) 在a日期的范围内取b的大约值,
eg:select round(sysdate ,'year') from dual 结果01-1月 -13 ,b可取值:year、month.....
10. trunc(a,b) 在a日期中截取b的范围 b可取值year、month....
4. 转换函数
1. to_char() 将其他类型转换为字符串
2. to_date() 将字符串转换为date类型:注意:必须符合Oracle的date格式
5. 通用函数
1. nvl(a,b); 如果a为null则返回b,若不为null则返回a
2. nvl2(a,b,c) 如果a为null返回c,不为null返回b
3. nullif(a,b) 如果a=b则返回空,否则返回a
4. coalesce(a,b,c,d....) 从左到右返回字一个不为null的值
5. wm_concat()行转列
6. 条件表达式
1. case(expre)
eg: select ename,job,sal 涨前, case job when 'PRESIDENT' then sal+1000
when 'MANAGER' then sal+800
else sal+400
end 涨后
from emp;
2. decode(a0
a,c
a1,c1
a2, c2
d)
from emp; 如果a0=a则翻译c,如果a0=a1则返回c1,如果a0=a2则返回c2,如果都不等则返回d