Oracle常用函数集锦

本文介绍了数据库中常用的字符串与日期转换函数,如to_date、to_number和to_char,以及数值处理函数ABS,还包括清理空格的TRIM系列函数和条件判断函数CASEWHEN和DECODE,以及处理NULL值的NVL函数。这些函数在数据处理和查询中起到关键作用。
摘要由CSDN通过智能技术生成

一、to_date:字符串转换为日期型

【函数格式】:
    to_date(sourceString[,formatParm[,nlsParm]])
【参数说明】:
    sourceString:要进行转换处理的源字符串;
    formatParm:格式参数,源字符串按照该参数的指定格式进行转换,是可选参数;
    nlsParm:nls设置参数,是可选参数。
【样例展示】:
    select to_date('2022/2/20 12:59:22','yyyy-mm-dd hh24:mi:ss') from dual;        --返回:2022/2/20 12:59:22
    select to_date('2022/2/20','yyyy-mm-dd') from dual;        --返回:2022/2/20
    select to_date('2022/2','yyyy-mm') from dual;              --返回:2022/2/1
    select to_date('2022','yyyy') from dual;                   --返回:2022/2/1

二、ABS绝对值函数

【函数格式】:
    ABS(number)
【样例展示】:
    ABS(-120)   -- 120

三、to_number:字符型转换为数值型

【函数格式】:
    to_number(sourceString[,formatParm[,nlsParm]])
【参数说明】:
    sourceString:要进行转换处理的源字符串;
    formatParm:格式参数,源字符串按照该参数的指定格式进行转换,是可选参数;
    nlsParm:nls设置参数,是可选参数。
【样例展示】:
    select to_number('123456')from dual;                --返回:123456
    select to_number('123456.12')from dual;             --返回:123456.12
    select to_number('00123456') from dual;             --返回:123456
    select to_number('$123.45','$999.99') from dual;    --返回:123.45
    select to_number('5,6,7.56','9,9,9.99') from dual;  --返回:567.56

四、to_char:日期型或数值型转换为字符型

【函数格式】:
    to_char(sourceValue[,formatParm[,nlsParm]])
【参数说明】:
    sourceValue:要进行转换处理的日期型或数值型数据;
    formatParm:格式参数,源数据按照该参数的指定格式进行转换,是可选参数;
    nlsParm:nls设置参数,是可选参数。
【样例展示】:
    select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss') from dual;        --返回:2022-02-20 14:38:03
    select to_char(sysdate, 'yyyy/mm/dd') from dual;        --返回:2022/02/20
    select to_char(sysdate, 'YYYY') from dual;              --返回:2022
    select to_char(567,'999.00') from dual;                 --返回:567.00
    select to_char(567,'99999.9') from dual;                --返回:567.0
    select to_char(5678,'C9999') from dual;                 --返回:CNY5678
    select to_char(567,'U999') from dual;                   --返回:¥567

五、trim,ltrim,rtrim:去除空格函数

【函数格式】:
    TRIM(sourceValue)     --TRIM去除指定字符的前后空格
    LTRIM(sourceValue)    --LTRIM去除指定字符的前面空格
    RTRIM(sourceValue)    --RTRIM去除指定字符后面后空格 
【样例展示】:
    SELECT TRIM(' dd df ') FROM dual;      -- 'dd df'
    SELECT LTRIM(' dd df ') FROM dual;     -- 'dd df '
    SELECT RTRIM(' dd df ') FROM dual;     -- ' dd df'

六、case when:类似于if-else语句

【函数格式】:
    CASE 
    WHEN condition THEN result 
    [ WHEN condition THEN result ] 
    ... 
    [ ELSE result ] 
    END
【参数说明】:
    condition:返回一个布尔结果的表达式。如果结果为false,则以相同的方式评估后续where子句。 
    result :当关联条件为真时要返回的值 
    ELSE result:如果没有条件,则CASE表达式的值是ELSE子句中的结果。 如果省略ELSE子句且没有条件匹配,则结果为null。
【样例展示】:
    select case when substr('134********',1,4) = '1349' then '电信' 
                when substr('134********',1,4) = '1348' then '联通' 
                else '移动' 
           end

七、decode:类似于if-else语句

【函数格式】:
    decode(expression,value,result1,result2)
    decode(expression,value1,result1,value2,result2,value3,result3......,default)
【样例展示】:
    select decode ( 1+2,3,'a','b')from dual     -- a
    select decode(score,100,'NO.1',90,'NO.2',80,'NO.3','Other'),name from grade
    -- score=100,输出'NO.1',score='90',输出‘NO.2’,score='70',输出‘NO.3’,其他值输出'Other'

八、NVL:从两个表达式返回一个非 null 值

【函数格式】:
    NVL(eExpression1, eExpression2)
【函数说明】:
    若expression1值为null,则该函数返回expression2;
    若expression1值不为null,则该函数返回expression1;
    若expression1、expression2的值均为null,则该函数返回null。
【样例展示】:
    select nvl(null,'ABCD') from dual;           -- ABCD
    select nvl(null,12345) from dual;            -- 12345
    select nvl(null,sysdate) from dual;          -- 2022/2/25 11:54:18
    select nvl(null,to_date('2022/2/25 11:54:18','yyyy-mm-dd hh24:mi:ss')) from dual;           --    2022/2/25 11:54:18

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值