Oracle常⽤函数
数值函数: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) --该列或表达式的⽅差,忽略空值
标签:函数,--,fmt,字符串,dual,Oracle,select,distinct From: https://www.cnblogs.com/yuyuboy/p/17032925.html