oracle日期時間型timestamp的深入理解

2021-10-02 10:20:59 字數 1506 閱讀 1331

今天,在讀取日期格式資料時,出現這樣的格式 「 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...