Oracle基础——单行函数(类型转换函数)
在执行运算的过程中,经常需要把一种数据类型转换成另一种数据类型。
数据转换分成隐式转换和显式转换两种。
隐式转换自动完成,显式转换必须通过转换函数实现。
函数 | 描述 |
---|---|
TO_CHAR(date,‘format’) | 按照指定格式format将数字或日期类型转为字符串 |
TO_NUMBER(char) | 将包含了数字的字符串转为数字数据 |
TO_DATE(string,‘format’) | 按照格式format把字符串转换成日期数据 |
TO_DATE需要注意,转换时string如果有‘¥’,‘$’,则format也要对应使用’L’
日期与字符串之间的转换:
日期 ——> 字符串
- TO_CHAR(date,format)
- TO_CHAR(newdate, ‘yyyy-mm-dd’)
字符串——>日期
- TO_DATE(string,format)
- TO_DATE(‘2006-05-01 19:25:34’, ‘YYYY-MM-DD HH24:MI:SS’)
Format的格式
- YYYY,YY,MONTH,MON,MM,DAY,DD,HH,MI,SS
字符串与数字之间的转换:
TO_CHAR(number,format)
TO_CHAR(salary, ‘$99,999.99’)
TO_NUMBER(char[,‘format’])
TO_NUMBER(‘RMB234234.4350’ , ’ L999999.0000’)
字符串与数字之间的转换:
TO_CHAR(number,format)
TO_CHAR(salary, ‘$99,999.99’)
TO_NUMBER(char[,‘format’])
TO_NUMBER(‘RMB234234.4350’ , ’ L999999.0000’)
e.g.:TO_DATE需要注意,转换时string如果有‘¥’,‘’,则format也要对应使用′L′,′’,则format也要对应使用’L’,’’,则format也要对应使用L
固定格式:
- 9 代表一个数字
- 0 强制显示0
- ¥ 货币符号
- L 本地货币符号
- . 小数点
- , 千分位
NVL函数:
NVL(A,B)
如果A为null则返回B,否则返回A
NVL2(A,B,C)
如果A不为null则返回B,否则返回C
NULLIF(A,B)
如果A和B相等则返回NULL,否则返回A
COALESCE(expr1,expr2, … , exprn)
返回清单中第一个非空值
DECODE函数:
DECODE语句:
DECODE(colum|expression, search1, result 1, search2, result2, ... ,default)
case colum|expresiion
when 'search1' then 'result1'
when 'search2' then 'result2'
when 'search3' then 'result3'
else 'default'
end as |v|
from table;