Bootstrap

oracle常用函数

1、replace()

含义:替换字符串

用法:replace(原字段,“原字段旧内容“,“原字段新内容“)

2、greatest(expr_1, expr_2, ...expr_n)

含义:从表达式(列、常量、计算值)expr_1, expr_2, ... expr_n等中找出最大的数返回

用法:SELECT GREATEST(2, 5, 12, 3, 16, 8, 9) A FROM DUAL; -- 结果为16

3、nvl()

含义:如果第一个参数为空那么显示第二个参数的值,如果第一个参数的值不为空,则显示第一个参数本来的值

用法:select nvl('123','456') from dual; --123

select nvl(null,'456') from dual; --456

4、nvl2()

含义:如果该函数的第一个参数为空那么显示第三个参数的值,如果第一个参数的值不为空,则显示第二个参数的值。

用法:select nvl2('111','222','333') from dual; --222

select nvl2(null,'222','333') from dual; --333

5、nullif()

含义:如果exp1和exp2相等则返回空(NULL),否则返回第一个值;且两个值的数据类型要一致,不然会报错

用法:select nullif('111','111') from dual; --null

select nullif('222','333') from dual; --222

6、coalesce(expression_1, expression_2, ...,expression_n)

含义: (expression_1, expression_2, ...,expression_n)依次参考各参数表达式,遇到非null值即停止并返回该值。如果所有的表达式都是空值,最终将返回一个空值。

用法:SELECT COALESCE(NULL,NULL,3,4,5) FROM dual ; -- 3

7、substr(字符串,截取开始位置,截取长度) //返回截取的字

含义:从字符串第X个字符开始截取长度为Y的字符串

用法:substr('Hello World',0,1) --H

substr('Hello World',1,1) //返回结果为 'H' *0和1都是表示截取的开始位置为第一个字符

substr('Hello World',2,4) //返回结果为 'ello'

substr('Hello World',-3,3)//返回结果为 'rld' *负数(-i)表示截取的开始位置为字符串右端向左数第i个字符

8、Translate函数的使用

TRANSLATE(string,from_str,to_str) -- translate:翻译的意思

含义:返回将(所有出现的)from_str中的每个字符替换为to_str中的相应字符以后的string。

TRANSLATE 是 replace 所提供的功能的一个超集。

from_str,to_str以字符为单位,对应字符一一替换。

如果 from_str 比 to_str 长,那么在 from_str 中而不在 to_str 中的额外字符将从 string 中被删除,因为它们没有相应的替换字符。

to_str 不能为空。Oracle 将空字符串解释为 NULL,并且如果TRANSLATE 中的任何参数为NULL,那么结果也是 NULL。

SELECT TRANSLATE('ab 你好 cdefg','abcdefg','1234567') FROM dual; -- 12 你好 34567

9、decode(条件,值1,返回值1,值2,返回值2,…值n,返回值n,缺省值)

该函数的含义如下:

IF 条件=值1 THEN

RETURN(翻译值1)

ELSIF 条件=值2 THEN

RETURN(翻译值2)

......

ELSIF 条件=值n THEN

RETURN(翻译值n)

ELSE

RETURN(缺省值)

ENDIF

10、decode(字段或字段的运算,值1,值2,值3)

11、sign(value)

比较大小函数 SIGN
sign()函数根据某个值是0、正数还是负数,分别返回0、1、-1 ,

12、abs(value)

求绝对值函数

13、ltrim(string,charlist)

移除字符串左侧的空白字符或者其他预定义字符,string必填:规定要检查的字符串。

14、rtrim(string,charlist)

移除字符串右侧的空白字符或者其他预定义字符,string必填:规定要检查的字符串。

15、ltrim(string,charlist)

移除字符串两侧的空白字符或者其他预定义字符,string必填:规定要检查的字符串。

;