日期時間型別
SQLite 沒有針對日期或時間值的單獨資料型別。
ISO8601 字串
內建關鍵字 CURRENT_DATE
,CURRENT_TIME
和 CURRENT_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');