在我的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/