今天,在讀取日期格式資料時,出現這樣的格式 「 01-10月-08 07.46.41.000000000 上午 」,在網上找了一下,這個也是oracle的一種日期儲存格式,資料都是日期型別,只是顯示的結果變成這樣。
1、字元型轉成timestamp
select
to_timestamp (
'01-10月-08 07.46.41.000000000 上午'
,'dd-mon-yy hh:mi:ss.ff am'
)from
dual ;
2、timestamp轉成date型
select
cast(
to_timestamp (
'01-10月-08 07.46.41.000000000 上午'
,'dd-mon-yy hh:mi:ss.ff am')as
date
) timestamp_to_date
from
dual ;
3、date型轉成timestamp
select
cast(sysdateas timestamp
) date_to_timestamp
from
dual ;
4、獲取timestamp格式的系統時間
select
systimestamp
from
dual ;
5、兩date的日期相減得出的是天數,而兩timestamp的日期相減得出的是完整的年月日時分秒小數秒
select
systimestamp - systimestamp
from
dual ;
select
sysdate- sysdate
from
dual ;
注:所以,timestamp要算出兩日期間隔了多少秒,要用函式轉換一下。
6、to_char函式支援date和timestamp,但是trunc卻不支援timestamp資料型別。
7、timestamp只支援秒的小數點後面六位。
select
to_char (
systimestamp,
'yyyymmdd hh24:mi:ssxff6'
)from
dual ;
注:ssxff6也可以為ssxff7、ssxff8、ssxff9等,但只到6有效。
8、獲取系統時間的語句:
select
sysdate,
systimestamp,
to_char (
systimestamp,
'yyyymmdd hh24:mi:ssxff6'
)from
dual ;
oracle日期時間型timestamp相關學習
1 獲取系統時間的語句 ssxff6獲取小數點後面六位 select sysdate,systimestamp,to char systimestamp,yyyymmdd hh24 mi ssxff6 to char systimestamp,yyyymmdd hh24 mi ss.ff6 from...
oracle日期時間型timestamp相關轉換
1 獲取系統時間的語句 ssxff6獲取小數點後面六位 select sysdate,systimestamp,to char systimestamp,yyyymmdd hh24 mi ssxff6 to char systimestamp,yyyymmdd hh24 mi ss.ff6 from...
出生日期時間規整(time)
import psycopg2 import re import cn2an str1 2019 01 08 str2 2019 1 8 00 00 00 str3 2019年1月8日 str4 2019年01月08日 str5 2019 1 8 str6 2019 01 08 00 00 str7...