【问题标题】:query certain part of value in datetime format以日期时间格式查询值的某些部分
【发布时间】:2019-11-20 14:46:46
【问题描述】:

我有一个数据库列(时间),它将数据类型定义为日期时间,即2019-11-08 15:49:26.860。我只想列出属于2019-11-08 的数据,而不管时间戳。我的数据库表如下所示

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%'

【问题讨论】:

    标签: mysql mssql-jdbc


    【解决方案1】:

    由于timedatetime 数据类型(顺便说一句,这有点违反直觉),所以不要使用字符串函数。改用日期函数:

    select * from task where date(time) = '2019-11-08';
    

    我实际上建议使用以下内容,因为它对索引更友好:

    select * from task where where time >= '2019-11-08' and time < '2019-11-09';
    

    【讨论】:

      猜你喜欢
      • 2022-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-10
      • 1970-01-01
      相关资源
      最近更新 更多