Oracle常用函数(字符串、数据类型转换、日期类型)

原创
2013/10/22 18:14
阅读数 2.7K

数值函数: 

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


展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
1 收藏
0
分享
返回顶部
顶部