Oracle常⽤函数

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) --该列或表达式的⽅差,忽略空值

posted on 2023-01-07 16:24  宇宇小子  阅读(41)  评论(0)    收藏  举报