在SQLite中,如何在不传递时间戳的情况下比较日期?
日期格式为2018-03-18 08:24:46.101655+00
,我想仅将日期部分与2018-03-18
进行比较。
我试过mydate='2018-03-18'
,但没有返回任何记录。
同样,尝试Date(mydate)='2018-03-18'
,但这也无济于事。
如何比较忽略时间戳部分的日期?
答案 0 :(得分:1)
select * from mytable
where strftime('%Y-%m-%d', mydate) = '2018-03-18'
答案 1 :(得分:1)
这不是受支持的date formats之一。
要从字符串中提取日期部分,请使用substr():
... WHERE substr(mydate, 1, 10) = '2018-03-18'
最好先在数据库中以正确的格式存储日期。
答案 2 :(得分:1)
看起来日期格式有问题。 Sqlite并不理解' + 00'等数据。在约会。 因此,如果数据类型是带时区'的时间戳,则date()和strftime()将不起作用。 尝试使用like子句。
答案 3 :(得分:0)