以日期时间格式查询值的某些部分
query certain part of value in datetime format
我有一个数据库列(时间),它将数据类型定义为 2019-11-08 15:49:26.860
的日期时间。我只想列出属于 2019-11-08
的数据,而不考虑时间戳。我的数据库 table 将如下所示
ID | task | time
1 | read | 2019-11-08 01:00:00.546
2 | sleep | 2019-11-08 03:00:00.546
3 | boxing | 2019-11-18 01:00:00.546
我测试了以下查询,但它显示日期时间不是字符串值
select * from task where time = '2019-11-08%'
因为 time
是 datetime
数据类型(顺便说一下,这有点违反直觉),所以不要使用字符串函数。改为使用日期函数:
select * from task where date(time) = '2019-11-08';
我实际上建议使用以下内容,因为它对索引更友好:
select * from task where where time >= '2019-11-08' and time < '2019-11-09';
我有一个数据库列(时间),它将数据类型定义为 2019-11-08 15:49:26.860
的日期时间。我只想列出属于 2019-11-08
的数据,而不考虑时间戳。我的数据库 table 将如下所示
ID | task | time
1 | read | 2019-11-08 01:00:00.546
2 | sleep | 2019-11-08 03:00:00.546
3 | boxing | 2019-11-18 01:00:00.546
我测试了以下查询,但它显示日期时间不是字符串值
select * from task where time = '2019-11-08%'
因为 time
是 datetime
数据类型(顺便说一下,这有点违反直觉),所以不要使用字符串函数。改为使用日期函数:
select * from task where date(time) = '2019-11-08';
我实际上建议使用以下内容,因为它对索引更友好:
select * from task where where time >= '2019-11-08' and time < '2019-11-09';