Oracle 转换函数To_char、to_date、to_number

To_charto_dateto_number

TO_CHAR 是把日期或数字转换为字符串
TO_DATE
是把字符串转换为数据库中得日期类型转换函数
TO_NUMBER
将字符转化为数字

 TO_CHAR²
使用TO_CHAR函数处理数字
TO_CHAR(number, '
格式
')
TO_CHAR(salary,’$99,999.99’);
使用TO_CHAR函数处理日期

TO_CHAR(date,’
格式’);

 TO_NUMBER²
使用TO_NUMBER函数将字符转换为数字
TO_NUMBER(char[, '
格式'])

 TO_DATE²
使用TO_DATE函数将字符转换为日期
TO_DATE(char[, '
格式'])

 数字格式格式²
9 代表一个数字
0
强制显示
0
$
放置一个$

L
放置一个浮动本地货币符

.
显示小数点

,
显示千位指示符

 日期格式²
格式控制 描述
YYYY
YYYYY 分别代表4位、3位、2位的数字年

YEAR
年的拼写

MM
数字月

MONTH
月的全拼

MON
月的缩写

DD
数字日

DAY
星期的全拼

DY
星期的缩写

AM
表示上午或者下午

HH24
HH12 12小时制或24小时制

MI
分钟

SS
秒钟

SP
数字的拼写

TH
数字的序数词

特殊字符假如特殊字符
HH24:MI:SS AM 15:43:20 PM

日期例子:
SELECT TO_DATE('2006-05-01 19:25:34', 'YYYY-MM-DD HH24:MI:SS') FROM DUAL
SELECT TO_DATE('2006-05-01 19:25', 'YYYY-MM-DD HH24:MI') FROM DUAL
SELECT TO_DATE('2006-05-01 19', 'YYYY-MM-DD HH24') FROM DUAL
SELECT TO_DATE('2006-05-01', 'YYYY-MM-DD') FROM DUAL
SELECT TO_DATE('2006-05', 'YYYY-MM') FROM DUAL
SELECT TO_DATE('2006', 'YYYY') FROM DUAL

日期说明:
当省略HHMISS对应的输入参数时,Oracle使用0作为DEFAULT值。如果输入的日期数据忽略时间部分,Oracle会将时、分、秒部分都置为0,也就是说会取整到日。

同样,忽略了DD参数,Oracle会采用1作为日的默认值,也就是说会取整到月。

但是,不要被这种惯性所迷惑,如果忽略MM参数,Oracle并不会取整到年,取整到当前月。

注意:
1.
在使用Oracleto_date函数来做日期转换时,可能会直觉地采用“yyyy-MM-dd HH:mm:ss”的格式作为格式进行转换,但是在Oracle中会引起错误:“ORA 01810 格式代码出现两次。如:select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mm:ss') from dual;原因是SQL中不区分大小写,MMmm被认为是相同的格式代码,所以OracleSQL采用了mi代替分钟。select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mi:ss') from dual;
2.
另要以24小时的形式显示出来要用
HH24
select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss') from dual;//mi
是分钟

select to_char(sysdate,'yyyy-MM-dd HH24:mm:ss') from dual;//mm
会显示月份

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值
>