我有一个sqlite表,其日期字段为YYYYMMDD格式为整数(所以20131204 = 2013年12月4日),字段名称为cycleStarted。
我正在尝试计算从dateStarted到今天的天数(在这种情况下,cycleStared = 10)。
我有一点问题 - 这是我的sql - 不用说 - 不起作用;
SELECT julianday(substr('now', 1, 4) || '-' ||
substr('now', 5, 2) || '-' ||
substr('now', 7, 2)) -
julianday(substr(cyclestarted, 1, 4) || '-' ||
substr(cyclestarted, 5, 2) || '-' ||
substr(cyclestarted, 7, 2))
FROM cycles WHERE cycleid = 10
有人能指出我正确的方向吗?
感谢。
答案 0 :(得分:3)
您正在使用字符串文字 'now'
的子字符串,而不是当前日期的子字符串。如果您想要当前的Julian日期,只需编写julianday('now')
。
答案 1 :(得分:0)
你可以试试这个
SELECT CAST(JULIANDAY('NOW') - JULIANDAY(SUBSTR(cyclestarted, 1, 4) || '-' || SUBSTR(cyclestarted, 5, 2) || '-' || SUBSTR(cyclestarted, 7, 2)) AS INT)
FROM cycles
WHERE cycleid = 10