Db2
將兩個整數轉換為時間戳
如何將兩個整數(一個用於日期,一個用於時間)轉換為時間戳?
- 給定 20200304 和 1046,返回 2020 年 4 月 3 日上午 10:46 的時間戳。
- 給定 20200304 和 946,返回 2020 年 4 月 3 日上午 9:46 的時間戳。
- 給定 20200304 和 2359,返回 2020 年 4 月 3 日晚上 11:59 的時間戳。
- 給定 20200304 和 0,返回 2020 年 4 月 3 日凌晨 0:00 的時間戳。
我正在執行第 7 版,第 1 版。
試試這個:
WITH T (YYYYMMDD, HHMM) AS ( VALUES (20200304, 1046) -- return a timestamp for April 3, 2020, 10:46 AM. , (20200304, 946) -- return a timestamp for April 3, 2020, 9:46 AM. , (20200304, 2359) -- return a timestamp for April 3, 2020, 11:59 PM. , (20200304, 0) -- return a timestamp for April 3, 2020, 0:00 AM. ) SELECT YYYYMMDD, HHMM , TIMESTAMP_FORMAT(DIGITS(DEC(YYYYMMDD, 8)) || DIGITS(DEC(HHMM, 4)), 'YYYYMMDDHH24MI') AS TS FROM T;
結果是:
|YYYYMMDD |HHMM |TS | |-----------|-----------|-------------------| |20200304 |1046 |2020-03-04 10:46:00| |20200304 |946 |2020-03-04 09:46:00| |20200304 |2359 |2020-03-04 23:59:00| |20200304 |0 |2020-03-04 00:00:00|