首页 > 代码库 > Oracle函数集锦
Oracle函数集锦
1、wmsys.wm_concat函数
将列转为行。例子:
--表里的数据如下SQL> select * from idtable; ID NAME---------- ------------------------------ 10 ab 10 bc 10 cd 20 hi 20 ij 20 mn--函数的执行效果SQL>select id,wmsys.wm_concat(name) name from idtable group by id; ID NAME---------- -------------------------------------------------------------------------------- 10 ab,bc,cd 20 hi,ij,mn
即按id分组,把id相同的name列组合起来。
2、replace函数
replace(String str, String targetStr [, String aimStr]),将str字符串中的targetStr字符,替换为aimStr字符。
如果不给出aimStr参数,则函数就会将str字符串中的targetStr字符串删除。如:
select replace(‘hello‘, ‘h‘, ‘y‘) from dual;--输出:yelloselect replace(‘hello‘, ‘h‘) from dual;--输出:ello
3、“||”字符串连接符
在Oracle中,如果想要将字符串连接起来,那么可以使用“||”符号。如:
select dummy from dual;--输出:Xselect dummy || ‘Z‘ from dual;--输出:XZ
4、decode函数
decode通常用来做判断,其参数格式为:decode(条件,值1,翻译值1,值2,翻译值2,缺省值),它等于我们编程中这样的语句:
IF 条件=值1 THEN RETURN(翻译值1)ELSIF 条件=值2 THEN RETURN(翻译值2) ......ELSIF 条件=值n THEN RETURN(翻译值n)ELSE RETURN(缺省值)END IF
下面举几个例子:
select decode(‘1‘, ‘1‘, ‘one‘, ‘2‘, ‘two‘, ‘other‘) from dual;--1.输出:oneselect decode(‘2‘, ‘1‘, ‘one‘, ‘2‘, ‘two‘, ‘other‘) from dual;--2.输出:twoselect decode(‘1‘, ‘1‘, ‘one‘, ‘1‘, ‘two‘, ‘other‘) from dual;--3.输出:one (遇到第一个值匹配之后,就不再进行匹配了,验证了是IF..ELSE IF..ELSE的语法)
5、sign(n)函数
若n=0,则返回0。否则,n>0,则返回1。n<0,则返回-1。
select sign(12) from dual; --输出:1
6、ceil(n)
返回结果是大于等于输入参数的最小整数
select ceil(10.5) from dual;--输出:11
7、floor(n)
返回结果是小于等于输入参数的最大整数
select floor(9.3) from dual;--输出:9
8、round(n)
四舍五入
SELECT round(100.51515),round(99.2343) from dual;--输出:101 99
9、TRUNC(n, integer)
截取数值的函数。integer为正整数,表示截取几位小数。integer为负整数,则截取小数点左几位。如果integer为小数,则函数会忽略小数部分。
比如当integer为3.25时,函数将会按3去截取。
select trunc(1222.23456,2), trunc(1222.23456, -1), trunc(1222.23456, 2.56) from dual;--1222.23 1220 1222.23
Oracle函数集锦
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。