数值函数:
select abs(-5) from dual;--的绝对值
select mod(521,10) from dual; --521被10除后的余数
select power(10,2) from dual; --10的2次方
select round(3.546,2]) from dual; --四舍五入至小数点后2位的值(n缺省为0)
select trunc(3.546,2])from dual; --截断2位小数位的值(n缺省为0)
select sign(10-5)from dual; --两个值想减等于(负数,0,正数),分别为(-1,0,1)
字符串函数
select lover('ABCD') from dual;-- 将字符串转换为小写
select upper('abcd') from dual;-- 将输入的字符串转换成大写
select initcap('abc def') from dual;--将输入的字符串单词的首字母转换成大写
select rpad('abc',20,'|') 右填充,lpad('abc',20,'-') 左填充 from dual;--填充函数
select rtrim('cabcdc','dc') 删除右侧,ltrim('abcdefa','ab') 删除左侧,trim(' abcdc ')去掉前后空格 from dual;
select trim('S' from'SSMITH') from dual;--去除'SSMITH'中的'S'
select length('cabcdc') from dual;--字符串长度
select substr('students',0,4) from dual;--截取字符串
select instr('students','t',3,1) from dual;--搜索字符串中,从第三个字符开始第一个‘t’出现的位置
select chr(70),ascii(70) from dual;--ascii码转换
select replace('李小四','小','') from dual;--用一个字符串替换另一个字符串中的子字符串,支持正则表达式
数据类型转换
to_char(sysdate, 'yyyymmdd') --时间类型转换成字符串
to_date('2013-01-01','yyyy-MM-dd')--字符串类型转换成时间类型
to_number('12.55')--字符串转换成number
nvl(m,0)--m为null时替换为0
日期类型
add_months(d,n) --日期d加n个月
last_day(d) --包含d的月份的最后一天的日期
month_between(d,e) --日期d与e之间的月份数,e先于d
new_time(d,a,b) --a时区的日期和时间d在b时区的日期和时间
next_day(d,day) --比日期d晚,由day指定的周几的日期
sysdate --当前的系统日期和时间
greatest(d1,d2,...dn) --给出的日期列表中最后的日期
least(d1,k2,...dn)-- 给出的日期列表中最早的日期
to_char(d [,fmt]) --日期d按fmt指定的格式转变成字符串
to_date(st [,fmt]) --字符串st按fmt指定的格式转成日期值,若fmt忽略,st要用缺省格式
round(d [,fmt]) --日期d按fmt指定格式舍入到最近的日期
trunc(d [,fmt]) --日期d按fmt指定格式截断到最近的日期
分组函数
avg([distinct/all] n) --列n的平均值
count([all] *) --返回查询范围内的行数包括重复值和空值
count([distinct/all] n) --非空值的行数
max([distinct/all] n) --该列或表达式的最大值
min([distinct/all] n) --该列或表达式的最小值
stdev([distinct/all] n) --该列或表达式的标准偏差,忽略空值
sum([distinct/all] n) --该列或表达式的总和
variance([distinct/all] n) --该列或表达式的方差,忽略空值