一、to_date字符串转换为日期型
【函数格式】
to_date(sourceString[,formatParm[,nlsParm]])
【参数说明】
sourceString要进行转换处理的源字符串
formatParm格式参数源字符串按照该参数的指定格式进行转换是可选参数
nlsParmnls设置参数是可选参数。
【样例展示】
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格式参数源字符串按照该参数的指定格式进行转换是可选参数
nlsParmnls设置参数是可选参数。
【样例展示】
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格式参数源数据按照该参数的指定格式进行转换是可选参数
nlsParmnls设置参数是可选参数。
【样例展示】
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
五、trimltrimrtrim去除空格函数
【函数格式】
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