查询MYSQL在10-OCT-15
问题描述:
我想查询一个MySQL数据库与今天的日期返回所有记录的格式的日期 -查询MYSQL在10-OCT-15
SELECT *
FROM credit_application
created_on = '15-OCT-15';
但它的失败是因为“华侨城”部分在查询内。我该如何解决这个问题?
答
使用MySQL STR_TO_DATE功能
SELECT *
FROM credit_application
created_on = STR_TO_DATE('15-OCT-15', '%d-%b-%y');
当然,这里假设你的created_on
场只是一个DATE
。如果它实际上是一个DATETIME
或TIMESTAMP
,那么你就需要做一个范围查询,而不是:
SELECT *
FROM credit_application
created_on >= STR_TO_DATE('15-OCT-15', '%d-%b-%y') AND
created_on < DATE_ADD(STR_TO_DATE('15-OCT-15', '%d-%b-%y'), INTERVAL 1 DAY);
使用DATE_FORMAT
需要的功能的其他建议表中所应用到的每一行,防止使用您可能拥有的任何索引。这将是一个non-sargable查询。
+0
谢谢你的回答和解释。 – Ben
答
使用MySQL DATE_FORMAT功能
SELECT *
FROM credit_application
DATE_FORMAT(created_on,'%d-%b-%y') = '15-OCT-15';
+0
谢谢您的回答! – Ben
只需使用DATE_FORMAT –
使用DATE_FORMAT(NOW(),'%d-%b-%y')转换日期 –