JulianDay() 和 Strftime() 在计算两个日期之间的差异时返回 null
JulianDay() and Strftime() returning null when calculating difference between two dates
我在从 SQLite 数据库的 table 中检索两个日期列之间的差异时遇到问题。当我使用 CocoaMySQL MesaSQLite 3.0.9 执行查询时,结果是 'NULL' 。我有包含该列值的记录。
我的查询是
SELECT
cast ( ( strftime('%s',t.timestamp2)-strftime('%s',t.timestamp1 ) ) 为真实
)/60/60 AS 流逝
FROM 时间戳 AS t;
SELECT (STRFTIME('%s',timestamp1) - STRFTIME('%s',timestamp2)) / -3600 来自时间戳,其中 objid= 3939
结果:空
select timestamp1,timestamp2 来自 objid = 3939 的时间戳。
结果:2014-01-29 02:55:00 AM 2014-01-29 03:00:00 AM(意味着我有时间戳中的数据 table)
SELECT julianday('now') - julianday('1776-07-04');
结果:87287.5314
SELECT julianday(timestamp1) - 来自时间戳的 julianday(timestamp2) where objid =3939
结果:空值
'timestamp1' 和 'timestamp2' 是 'timestamps' table 中的列。其中有带值的记录。
请尽快提供解决此问题的解决方案。
我无法添加屏幕截图。
2014-01-29 02:55:00 AM
等日期戳不在 format understood by SQLite 中。只支持24小时制,需要去掉AM/PM。
除此之外,如果您计划对日期时间进行数学运算,请考虑首先将它们存储在使计算变得简单、快速和可靠的格式中,例如 unixepoch 秒。
我在从 SQLite 数据库的 table 中检索两个日期列之间的差异时遇到问题。当我使用 CocoaMySQL MesaSQLite 3.0.9 执行查询时,结果是 'NULL' 。我有包含该列值的记录。 我的查询是
SELECT cast ( ( strftime('%s',t.timestamp2)-strftime('%s',t.timestamp1 ) ) 为真实 )/60/60 AS 流逝 FROM 时间戳 AS t; SELECT (STRFTIME('%s',timestamp1) - STRFTIME('%s',timestamp2)) / -3600 来自时间戳,其中 objid= 3939
结果:空
select timestamp1,timestamp2 来自 objid = 3939 的时间戳。
结果:2014-01-29 02:55:00 AM 2014-01-29 03:00:00 AM(意味着我有时间戳中的数据 table)
SELECT julianday('now') - julianday('1776-07-04');
结果:87287.5314
SELECT julianday(timestamp1) - 来自时间戳的 julianday(timestamp2) where objid =3939
结果:空值
'timestamp1' 和 'timestamp2' 是 'timestamps' table 中的列。其中有带值的记录。
请尽快提供解决此问题的解决方案。 我无法添加屏幕截图。
2014-01-29 02:55:00 AM
等日期戳不在 format understood by SQLite 中。只支持24小时制,需要去掉AM/PM。
除此之外,如果您计划对日期时间进行数学运算,请考虑首先将它们存储在使计算变得简单、快速和可靠的格式中,例如 unixepoch 秒。