mysql - 为什么这个检索 DateTime 字段等于指定值的记录的查询不起作用?

标签 mysql sql database datetime rdbms

我正在使用 MySql,我在尝试检查 DateTime 字段是否等于指定值时发现一些困难。

在我的数据库中,我有一个 MeteoForecast 表,其中包含一个名为 start_dateDateTime 字段,其值如下:05/03/2018 12:00:00

好的,然后我实现这个查询,检查表中是否存在开始日期值晚于指定值表示的日期的记录,这是我的查询:

SELECT *
FROM MeteoForecast          AS MF
WHERE 
     MF.localization_id = 1
AND
     MF.start_date >= '05/03/2018 12:00:00'

除了结果排除了 start_date 字段等于我的 WHERE 子句中指定的值的记录之外,它似乎有效。

好的,但我需要检索具有 start_date 字段的记录,该字段恰好包含我的 WHERE 子句中指定的值,所以我尝试这样做:

SELECT *
FROM MeteoForecast          AS MF
WHERE 
     MF.localization_id = 1
AND
     MF.start_date = '05/03/2018 12:00:00' 

它返回一个空的结果集。

为什么?怎么了?我错过了什么?我该如何修复这个查询?

最佳答案

使用标准日期格式。假设您想要 2018 年 3 月 5 日:

WHERE MF.localization_id = 1 AND
      MF.start_date = '2018-03-05 12:00:00'

关于mysql - 为什么这个检索 DateTime 字段等于指定值的记录的查询不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49509346/

相关文章:

php - MySQL 按前 10 名排序

mysql - 导入 csv 时出现重复的列名称 'NULL'

mysql - 在创建 ER 图期间何时应用标准化原则

android - SQL : Query() where COL = int instead of string ?(图片+里面的代码)

php - 转义并清理 $_GET 参数

mysql - How to make a query based on other table values?,一个查询另一个表的每个唯一值

sql - 规范化表上 Postgres 中的行级安全性

c#数据库选择然后插入。但是值为0

没有开始 Activity 的android putextra

php - Codeigniter - 将 mysql 表同步到不同服务器上的不同数据库