我有一个日期时间列,我试图与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'
这似乎对我的其余代码起作用,但它没有。
还有其他功能吗?
答案 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';