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);

07-25 23:31
查看更多