溫馨提示×

SQL里Unix時間戳轉換有哪些技巧

小樊
234
2024-09-27 23:16:53
欄目: 云計算

在 SQL 中,可以使用不同的函數將 Unix 時間戳轉換為可讀的日期和時間格式,以及執行相反的轉換。以下是一些常用的技巧:

  1. 從 Unix 時間戳到日期和時間

    對于 MySQL,使用 FROM_UNIXTIME() 函數:

    SELECT FROM_UNIXTIME(1633024800) as date;
    

    對于 PostgreSQL,使用 to_timestamp() 函數:

    SELECT to_timestamp(1633024800) as date;
    

    對于 SQL Server,使用 DATEADD() 函數:

    SELECT DATEADD(SECOND, 1633024800, '1970-01-01 00:00:00') as date;
    

    對于 Oracle,使用 TO_DATE() 函數與 TRUNC() 函數:

    SELECT TO_DATE('1970-01-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS') + 1633024800 / 86400 as date;
    
  2. 從日期和時間到 Unix 時間戳

    對于 MySQL,使用 UNIX_TIMESTAMP() 函數:

    SELECT UNIX_TIMESTAMP('2021-09-20 12:00:00') as timestamp;
    

    對于 PostgreSQL,使用 EXTRACT(EPOCH FROM ) 函數:

    SELECT EXTRACT(EPOCH FROM '2021-09-20 12:00:00'::timestamp) as timestamp;
    

    對于 SQL Server,使用 DATEDIFF() 函數:

    SELECT DATEDIFF(SECOND, '1970-01-01 00:00:00', '2021-09-20 12:00:00') as timestamp;
    

    對于 Oracle,使用 TO_DATE() 函數與 EXTRACT() 函數:

    SELECT (TO_DATE('2021-09-20 12:00:00', 'YYYY-MM-DD HH24:MI:SS') - TO_DATE('1970-01-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS')) * 86400 as timestamp;
    

這些技巧可以幫助你在不同的數據庫系統中執行 Unix 時間戳與日期時間之間的轉換。注意,根據你所使用的數據庫系統,函數名稱和語法可能略有不同。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女