SQLite 内置的日期时间函数可以将日期和时间存储为 TEXT、REAL 或 INTEGER 值。
我想使用这些函数来存储 INTEGER
值。如何做到?SQLite3日期时间函数文档描述了这些函数的参数类型,但没有提到返回类型。似乎返回类型是text
:
sqlite> select typeOf(datetime('2014-12-12 12:12:12.000'));
text
这不是我想要的——我需要一个整数值来代表该时间的UNIX时间戳。即使我创建了一个类型为integer
的列并尝试将datetime(...)
值存储在其中,SQLite也会将其存储为该integer
列中的text
值。
我该如何强制datetime
函数及其相关函数返回UNIX时间戳而不是text
值?
SELECT CAST(strftime('%s', strftime('%Y-%m-%dT00:00:00+00:00', <your_datetime_column>), 'unixepoch') as datetime) FROM <your_table>
- user1142902