oracle函数

 

select * from dual;--dual是为了查询的语法规则存在的

--日期函数
select add_months(sysdate,2) from dual;

select months_between(sysdate,'3-8月-2011') from dual;--返回类型为小数

select last_day(sysdate) from dual; --返回类型为date当月最大天数

select  round(sysdate,'dd')from dual; --四舍五入  按天 这个月是否过来一半  只要过了15就是30  否则变成1
select  round(sysdate,'mm')from dual;
select  round(sysdate,'yyyy')from dual;

select next_day(sysdate,'星期一') from dual;--下个星期一是多少号(中文oracle用中文,英文版的不可以用缩写)
select next_day(sysdate,'星期日') from dual;

select trunc(sysdate,'dd') from dual;--精确到
select trunc(sysdate,'mm') from dual;

select extract(year from sysdate) from dual;--截取 返回number型

--字符函数
select trim('       d   ') from dual;--1.去空格 2.去指定字符
select trim('1' from '1111dfsf1111') from dual;
--三个替换函数
select translate('abcded','cd','io') from dual;--替换满足其中的一个,替换相应的一个(部分模糊替换)
select replace('abcded','cd','io') from dual;--部分精确替换
select decode('abcded','cd','io') from dual;--完整的字符精确替换(全部精确替换)

select substr('abcde',2,3) from dual;--oracle的索引从1开始  第三个参数是截取多长
select instr('abcdef','a') from dual;--相当于java的indexOf  如果没有第三参数默认从第一个参数开始找

select chr(97)from dual;--参数只能转ascii码(0-127)
select ascii('A')from dual;
selec lpad('',,'') from dual;--不足为补第三参数
select length('中国') from dual;--单位为字 -->2
--数学函数
ceil()--大于或等于本身的最小整数
floor()--小于或等于本身的最大整数
select to_date('2001-1-1 12:32:23','yyyy-mm-dd HH:mi:ss') from dual;
--转换空值的函数
nvl nvl2 nullif
NVL (expr1, expr2):expr1为NULL,返回expr2;不为NULL,返回expr1
NVL2 (expr1, expr2, expr3) ->expr1不为NULL,返回expr2;为NULL,返回expr3。expr2和expr3类型不同的话,expr3会转换为expr2的类型
NULLIF (expr1, expr2) ->相等返回NULL,不等返回expr1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值