oracle的函数集,oracle 函数集

--------------------

--| 字符函数 |

--------------------

--字符串连接 asssbsss

Select concat('asss','bsss') from dual;

select 'a'||'b' from dual;

--单词首字母大写 Red Hat

select initcap('red hat') from dual;

--字符串截取 结果为 def

Select substr('abcdef',length('abcdef')-2) from dual;

Select substr('abcdef',-3,3) from dual;

--取字符串长度 6

select length('123456') from dual;

--字符替换 111111

select replace('aaaaaa','a','1') from dual;

--查找子串的位置 8

select instr('hello world','or') from dual;

--左侧填充* 总长度为8 结果为 ***muger

select lpad('muger',8,'*') from dual;

--右侧填充 muger***

select rpad('muger',8,'*') from dual;

--过滤首尾空格

select trim(' muger ') from dual;

--------------------

--| 数值函数 |

--------------------

--四舍五入

select round(456.6,-2) from dual; --500

select round(412.316,2) from dual; --412.32

--取余数

select mod(33,5) from dual; --33mod5 = 3

--取下界 直接舍掉 不四舍五入

select trunc(477.13,-2) from dual; --400

--------------------

--| 日期函数 |

--------------------

--计算相差月份 结果单位为(月)sysdate为当前系统时间

select months_between(sysdate,sysdate-31) from dual; -- 1

--日期月份加 n

select add_months(sysdate,1) from dual; --sysdate=2010-8-3 17:10:29 返回结果为 2010-9-3 17:10:29

--得到下一个 星期三 那天此时的日期

select next_day(sysdate,3) from dual; --

select next_day(sysdate,'星期三') from dual;--同上

--获取当月最后一天 此时的日期

select last_day(sysdate) from dual;

--------------------

--| 转换函数 |

--------------------

--日期到字符串的转换

select to_char(sysdate,'yyyy') from dual; --取年'yyyy' 月 'mm' 日 'dd' 时 'hh' 分 'mm' 秒 'ss'

select to_char(sysdate-20,'fmyyyy-mm-dd') from dual; --单月单日不补0 例如 2010-8-18 而不是 2010-08-18

select to_char(45641313,'L999,999,999') from dual;-- ¥45,641,313

select to_char(sysdate-20,'d') from dual;--返回星期

--字符串转数字

select to_number('13')+to_number('14') from dual; --27

--字符串转日期

Select to_date('20090210','fmyyyyMMdd') from dual; --2009210

--------------------

--| 通用函数 |

--------------------

--如果为NULL 用0替换

select nvl(null,0) from dual; --0

--如果表达式exp1与exp2的值相等则返回null,否则返回exp1的值

select nullif(12,12) from dual; --null

--exp1是null 返回exp3 否则返回exp2

select nvl2(3,12+5,8) from dual; --17

--依次考察各参数表达式,遇到非null值即停止并返回该值。

select coalesce(null,null,null,2,null) from dual; --2

--case表达式

select a,b,

case c

when 10 then '十'

when 20 then '二十'

when 30 then '三十'

else '未知'

end 数字

from

(select 20 as a,35 as b,30 as c from dual);

--decode表达式 --结果case

select a,b,

decode(c,

10,'十',

20,'二十',

30,'三十',

'未知')

数字

from

(select 20 as a,35 as b,30 as c from dual);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值