【问题标题】:Does WHERE clause work with date comparision in MySQLWHERE 子句是否适用于 MySQL 中的日期比较
【发布时间】:2017-11-22 19:59:09
【问题描述】:

下面是选择日期的示例代码

代码

SELECT * FROM `account` WHERE date >='2017-06-01' AND date <='2017-06-33'

这样比较日期是否有效?

我将从 PHP 提供变量,而不是那个字符串。

编辑:

    SELECT * FROM account WHERE date BETWEEN '2017-06-01' AND '2017-06-33' 

Ramraider 也尝试了这种替代方法,但仍然无法正常工作。 我们可以用日期执行这种 SQL 查询吗?

【问题讨论】:

  • 你为什么要问而不是自己测试?如果字段是datedatetimetimestamp,那么是的,它将起作用。
  • 你自己试试看吧?
  • 您也可以使用between 运算符
  • 我不知道一个月的第 33 天,所以不,它不会起作用。 AND date &lt;='2017-06-33' 如果那是您的真实代码。
  • 我试过了。但即使日期的值为 2017-06-20...,它也没有返回任何内容。 33 天刚好涵盖了 06 的整个月份。感谢您的快速回复。

标签: php mysql codeigniter-3


【解决方案1】:

您可以尝试以下查询:

SELECT * FROM account WHERE `date` BETWEEN
CAST('2017-06-01' AS DATE) AND CAST('2017-06-30' AS DATE);

date 是 mysql 中的内置数据类型。所以我也想知道您是否将您的列名保留在帐户表中作为日期?
另外,33 不能提。必须在valid date range for the particular month 之内,6 月 1 到 30 之间。

【讨论】:

  • 所以主要问题在于日期范围。谢谢你帮了大忙。
猜你喜欢
  • 1970-01-01
  • 2021-10-09
  • 2017-09-16
  • 1970-01-01
  • 2012-01-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-09
相关资源
最近更新 更多