我将日期作为字符串存储在我的数据库中,格式为:
YYYY-MM-DD HH:MM
在我的数据库中我有行(所有列都是字符串):
COL1 | COL2
----------------------------------
'2012-06-21 18:53' | 'item1'
'2012-06-21 18:54' | 'item2'
'2012-06-21 18:55' | 'item3'
现在我想比较这些存储的日期(好吧,字符串),这非常奇怪:
此查询
select *
from MyTable
where col1 > Datetime('2012-06-21 18:53')
返回2行(除了第一行外) - 这是正确的。
但是这个查询
select *
from MyTable
where col1 >= Datetime('2012-06-21 18:53')
也只返回2行,但它应该返回所有3行,因为我使用的是>=
而不是>
。
我错了什么?
答案 0 :(得分:1)
sqlite> SELECT datetime('2012-06-21 18:53');
2012-06-21 18:53:00
datetime()以不同于数据库字段的格式返回字符串。您只能使用WHERE的字符串,例如
select *
from MyTable
where col1 >= '2012-06-21 18:53'