说
sqlite的内置日期和时间函数能够将日期和时间存储为文本、实数或整数值。
我想使用这些函数来存储INTEGER
值。我该怎么做?The documentation for SQLite3 datatypes描述了这些函数的参数类型,但没有提到返回类型。似乎返回类型为text
:
sqlite> select typeOf(datetime('2014-12-12 12:12:12.000'));
text
这不是我想要的——我想要一个整数值,将该时间表示为一个Unix时间戳。即使我创建一个
integer
类型的列并尝试在其中存储一个datetime(...)
值,sqlite也会将其存储为该text
列中的一个integer
值。如何强制
datetime
函数和朋友返回Unix时间戳而不是text
值? 最佳答案
所有内置的日期/时间函数都返回字符串。
要将字符串转换为数字,请使用CAST:
SELECT CAST(strftime('%s', 'now') AS INT);