日期時間型別

SQLite 沒有針對日期或時間值的單獨資料型別。

ISO8601 字串

內建關鍵字 CURRENT_DATECURRENT_TIMECURRENT_TIMESTAMP 以 ISO8601 格式返回字串:

> SELECT CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP;
CURRENT_DATE  CURRENT_TIME  CURRENT_TIMESTAMP  
------------  ------------  -------------------
2016-07-08    12:34:56      2016-07-08 12:34:56

所有內建日期/時間函式也可以理解這些值 :

> SELECT strftime('%Y', '2016-07-08');
2016

朱利安日數

內建的日期/時間函式解析數作為儒略日

> SELECT datetime(2457578.02425926);
2016-07-08 12:34:56

julianday() 函式將任何支援的日期/時間值轉換為 Julian 日期數:

> SELECT julianday('2016-07-08 12:34:56');
2457578.02425926

Unix 時間戳

內建的日期/時間功能, 如可以解釋數字的 Unix 時間戳unixepoch 修改:

> SELECT datetime(0, 'unixepoch');
1970-01-01 00:00:00 

strftime() 函式可以將任何支援的日期/時間值轉換為 Unix 時間戳:

> SELECT strftime('%s', '2016-07-08 12:34:56');
1467981296 

不支援的格式

可以在資料庫中以任何其他格式儲存日期/時間值,但內建日期/時間函式不會解析它們,並返回 NULL:

> SELECT time('1:30:00');   -- not two digits

> SELECT datetime('8 Jul 2016');