Mysql 查询在 where 条件下的日期字段时未返回正确的值

标签 mysql date where-clause

在我的sales 表中,sale_date 字段采用date 格式

当我运行查询时,

SELECT * FROM `sales` WHERE sale_date=2014-10-01;

不返回任何结果。实际上,sale_date 字段包含值 2014-10-01

最佳答案

没有引号,这被解释为三个整数,它们之间有减法运算符 (-):2014 - 10 - 01 = 2003。您需要将此值表示为 date,例如 str_to_date功能:

SELECT * 
FROM   `sales` 
WHERE  sale_date = STR_TO_DATE('2014-10-01', '%m-%d-%Y');

关于Mysql 查询在 where 条件下的日期字段时未返回正确的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26582371/

相关文章:

php无法执行mysql查询转义

php - MySQL 社区服务器 - 它到底是什么?

mysql - 更新 MySQL 长文本数据类型中的一个字段

PHP 日期时间格式

php - SQL,如果PHP值为空则忽略原因

java - 如何显示发布到我的论坛中的答案数量?

javascript - 从 JavaScript 到 MySQL 日期类型的日期格式

c# - 获取两个工作日之间的天数差异

ruby-on-rails - 无方法错误 : undefined method `where' for main:Object (rake task) - Rails 4

mysql - 在 MySQL 查询中同时使用存在和简单值检查