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个字符
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必填:规定要检查的字符串。