2015-10-15 73 views
2

我想查詢一個MySQL數據庫與今天的日期返回所有記錄的格式的日期 -查詢MYSQL在10-OCT-15

SELECT * 
FROM credit_application 
created_on = '15-OCT-15'; 

但它的失敗是因爲「華僑城」部分在查詢內。我該如何解決這個問題?

+0

只需使用DATE_FORMAT –

+0

使用DATE_FORMAT(NOW(),'%​​d-%b-%y')轉換日期 –

回答

1

使用MySQL STR_TO_DATE功能

SELECT * 
FROM credit_application 
created_on = STR_TO_DATE('15-OCT-15', '%d-%b-%y'); 

當然,這裏假設你的created_on場只是一個DATE。如果它實際上是一個DATETIMETIMESTAMP,那麼你就需要做一個範圍查詢,而不是:

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

1

使用MySQL DATE_FORMAT功能

SELECT * 
FROM credit_application 
DATE_FORMAT(created_on,'%d-%b-%y') = '15-OCT-15'; 
+0

謝謝您的回答! – Ben