1.字符类
lpad(str1,length,str2)
lpad函数从左边对字符串使用指定的字符进行填充。从其字面意思也可以理解,l是left的简写,pad是填充的意思,所以lpad就是从左边填充的意思。
举例:select lpad(1,5,‘x‘) from dual; 输出结果:xxxx1
rpad(str1,length,str2)
lpad函数从右边对字符串使用指定的字符进行填充。从其字面意思也可以理解,r是right的简写,pad是填充的意思,所以lpad就是从右边填充的意思。
举例:select rpad(1,5,‘x‘) from dual; 输出结果:1xxxx
upper(str)
将当前字符串全部转换为大写
lower(str)
将当前字符串全部转换为小写
initcap(str)
将第一个字符变成大写,其他字符变成小写
举例:select initcap(‘hEllo wOrld‘) from dual; 输出结果:Hello World
replace(字符串1,字符串2,字符串3)
将字符串1中所有的字符串2,替换成字符串3
举例:select replace(‘hEllo world‘,‘hE‘,‘He‘) from dual; 输出结果:Hello world
translate(char, from, to)
将from中的字符转换为to中与之位置对应的字符,若to中找不到与之对应的字符,返回值中的该字符将会被删除
举例:select translate(‘1ello 2orldc‘,‘12c‘,‘HW‘) from dual;输出结果:Hello World
bitand(ex1,ex2)
不常用,返回两个数值型数值在按位进行AND 运算后的结果;如果 ex1 和 ex2的位都是 1,相应的结果位就是 1;否则相应的结果位是 0
concat(char1,char2)
将char1与char2字符串拼接起来
wmsys.wm_concat
将所有查询结果的列以“,”拼接起来
2.日期类
to_char(date,char)日期转字符
举例:select to_char(sysdate,‘yyyy-mm-dd hh24:mi:ss‘) from dual; 输出结果:2017-07-31 17:16:14
to_date(char,date)字符转日期
举例:select to_date(‘2017-07-31 17:16:14‘,‘yyyy-mm-dd hh24:mi:ss‘) from dual; 输出结果:2017/7/31 17:16:14
select to_char(sysdate, ‘yyyy‘) as nowYear from dual; --获取时间的年
select to_char(sysdate, ‘mm‘) as nowMonth from dual; --获取时间的月
select to_char(sysdate, ‘dd‘) as nowDay from dual; --获取时间的日
select to_char(sysdate, ‘hh24‘) as nowHour from dual; --获取时间的时
select to_char(sysdate, ‘mi‘) as nowMinute from dual; --获取时间的分
select to_char(sysdate, ‘ss‘) as nowSecond from dual; --获取时间的秒
select to_char(to_date(‘2017-07-31‘,‘yyyy-mm-dd‘),‘day‘) from dual; --获取某天是星期几
3.聚合函数
avg()平均值
max()最大值
min()最小值
sum()求和
count()统计
4.条件判断
nvl(a,b)
如果前面的a的值为null那么返回的值为后面的b
nvl2(a,b,c)
如果a为null,则结果为b,否则结果为c
decode(字段,条件1,值1,条件2,值2,…值n)
如果字段满足条件1,那么取值1,以此类推,最后返回值n