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


转载于:https://my.oschina.net/haochenhh/blog/170618

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值