比较mysql中的两个日期时出现日期格式问题

时间:2014-04-04 13:26:06

标签: mysql

我有一个日期时间列,我试图与DD / MM / YYYY格式的日期值进行比较。

我正在尝试这个:

SELECT * FROM TABLE WHERE STR_TO_DATE(DATETIME_COLUMN, '%d/%m/%Y') = '04/04/2014'.

它没有用。

甚至试过这个:

SELECT * FROM TABLE WHERE DATETIME_COLUMN = '04/04/2014'

这似乎对我的其余代码起作用,但它没有。

还有其他功能吗?

2 个答案:

答案 0 :(得分:1)

您可以使用此查询来实现目标,这将使您保持谓词可搜索。

SELECT * FROM TABLE WHERE DATETIME_COLUMN = STR_TO_DATE('04/04/2014', '%d/%m/%Y')

如果您的DATETIME_COLUMN列有时间部分,并且您希望在指定日期内获取所有日期,请使用此字段:

SELECT * FROM TABLE 
WHERE DATETIME_COLUMN >= STR_TO_DATE('04/04/2014', '%d/%m/%Y')
  AND DATETIME_COLUMN < STR_TO_DATE('05/04/2014', '%d/%m/%Y')

答案 1 :(得分:0)

像这样使用

SELECT * FROM TABLE WHERE DATE_FORMAT(DATETIME_COLUMN,'%d/%m/%Y') = '04/04/2014';