MYSQL使用LIKE函数查询日期

时间:2014-07-29 18:53:27

标签: php mysql sql datetime sql-like

我在mysql查询的where语句中有以下语句:

WHERE scrap_date LIKE '%-01-%'

我想抓住1月份scrap_date的所有数据。我收到的错误是:

  

"日期时间值不正确:'% - 01 - %'对于列' scrap_date'在第1行"

scrap_date的数据类型为DATETIME。 不确定使用什么语法来获取1月份日期的数据,有什么建议吗?

4 个答案:

答案 0 :(得分:5)

您假设日期在内部表示为字符串。事实并非如此。

由于是DateTime,使用MONTH函数提取月份并将其与期望值进行比较

WHERE MONTH(scrap_date) = 1

答案 1 :(得分:1)

你可以试试这个:

select  * from your table WHERE MONTH(scrap_date) = 1

答案 2 :(得分:0)

您可以使用DATEPART()函数

SELECT * FROM table
WHERE  (DATEPART(mm, scrap_date) = 01)

答案 3 :(得分:0)

使用月份功能

WHERE MONTH(scrap_date) = 1