这样的要求
SELECT
*
FROM
integration_betapost.`tests_st`
WHERE
add_date = CURDATE()
which只显示两行,where add_date
is equal 2017-06-02 00:00:00
,虽然表中type的值很多 。2017-06-02 14:02:07
问题,为什么不包括在选择中?
这样的要求
SELECT
*
FROM
integration_betapost.`tests_st`
WHERE
add_date = CURDATE()
which只显示两行,where add_date
is equal 2017-06-02 00:00:00
,虽然表中type的值很多 。2017-06-02 14:02:07
问题,为什么不包括在选择中?
未选择记录,因为
=
MySQL 运算符要求严格的参数相等性,2017-06-02 00:00:00
不等于2017-06-02 14:02:07
。例如,您可以搜索大于当天开始的所有日期时间,如下所示:或者,比如取当天从当天开始到当前时间的记录:
或者,例如,严格记录当天:
当然,您可以显式地将列转换为日期,不带时间 (
date(add_date)=...
),但不建议这样做,因为在这种情况下 DBMS 将无法使用索引,即使它们存在。这将导致全表扫描并带来相应的性能损失您需要
add_date
将字段设置为相同的格式YYYY-MM-DD
,您可以这样做: