把Oracle 字符串轉(zhuǎn)換成TIMESTAMP類型的方案
在計(jì)算機(jī)的實(shí)際應(yīng)用中將Oracle 字符串轉(zhuǎn)換成TIMESTAMP類型或是Date類型時(shí),我們要用到Oracle的相關(guān)函數(shù),在此過程中我們要涉及到很多的字符串的應(yīng)用,那么接下來就讓我們一起了解Oracle 字符串轉(zhuǎn)換的實(shí)際應(yīng)用吧!
使用Oracle函數(shù):
TO_TIMESTAMP_TZ('2009-3-9 17:51:23.23 -05:00', 'YYYY-MM-D HH24:MI:SS.FF TZH:TZM')
TO_DATE(yourdate,'YYYY-MM-D HH24:MI:SS');
字符串轉(zhuǎn)日期Date
T0_CHAR(yourdate,'YYYY-MM-D HH24:MI:SS');
日期Date轉(zhuǎn)字符串
eg:
update t_fl_flownote set sendtime=TO_TIMESTAMP_TZ('2009-11-30 10:47:16','YYYY-MM-DD HH24:MI:SS')
轉(zhuǎn)別人的日志
我們都知道date和timestamp都是對日期和時(shí)間的表示,只是兩種類型的精確度不同,前者精確到秒,后者精確到小數(shù)秒(fractional_seconds_precision),可以是 0 to 9,缺省是6。
Oracle 字符串轉(zhuǎn)換但是對date類型的運(yùn)算很簡單,有很多函數(shù)可用來處理;而兩個(gè)timestamp的差則是很直觀地顯示為多少天+多少小時(shí)+多少分鐘+多少秒+多少小數(shù)秒,
SQL> create table test (T1 TIMESTAMP(6),
2 T2 TIMESTAMP(6));
表已創(chuàng)建。
SQL> insert into test values(
2 to_timestamp('2006-01-01 12:10:10.1','yyyy-mm-dd hh24:mi:ss.ff'),
3 to_timestamp('2006-01-01 12:20:10.2','yyyy-mm-dd hh24:mi:ss.ff'));
已創(chuàng)建 1 行。
SQL>
SQL> insert into test values(
2 to_timestamp('2006-01-01 12:10:10.1','yyyy-mm-dd hh24:mi:ss.ff'),
3 to_timestamp('2006-01-02 12:20:10.2','yyyy-mm-dd hh24:mi:ss.ff'));
已創(chuàng)建 1 行。
SQL>
SQL> insert into test values(
2 to_timestamp('2006-01-01 12:10:10.1','yyyy-mm-dd hh24:mi:ss.ff'),
3 to_timestamp('2006-01-02 13:40:20.2','yyyy-mm-dd hh24:mi:ss.ff'));
已創(chuàng)建 1 行。
SQL> commit;
提交完成。
SQL>
兩個(gè)timestamp的差則是很直觀地顯示為多少天+多少小時(shí)+多少分鐘+多少秒+多少小數(shù)秒:
SQL> select t2-t1 from test;
+000000000 00:10:00.100000
+000000001 00:10:00.100000
+000000001 01:30:10.100000
SQL>
但要簡單地轉(zhuǎn)化為某一個(gè)精度卻比較麻煩,用類似date類型的處理方法是不行的。如轉(zhuǎn)化為分:
SQL> select 1440*(t2-t1) from test;
+000000010 00:02:24.000000000
+000001450 00:02:24.000000000
+000001530 04:02:24.000000000
SQL>
發(fā)現(xiàn)結(jié)果根本不是原先想要的,而是在原先的“多少天+多少小時(shí)+多少分鐘+多少秒+多少小數(shù)秒”的每一項(xiàng)都乘以1440再進(jìn)行進(jìn)制處理。以上的相關(guān)內(nèi)容就是對Oracle 字符串轉(zhuǎn)換TIMESTAMP類型或Date類型的介紹,望你有所收獲。
【編輯推薦】