我想查詢一個MySQL數據庫與今天的日期返回所有記錄的格式的日期 -查詢MYSQL在10-OCT-15
SELECT *
FROM credit_application
created_on = '15-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查詢。
謝謝你的回答和解釋。 – Ben
使用MySQL DATE_FORMAT功能
SELECT *
FROM credit_application
DATE_FORMAT(created_on,'%d-%b-%y') = '15-OCT-15';
謝謝您的回答! – Ben
只需使用DATE_FORMAT –
使用DATE_FORMAT(NOW(),'%d-%b-%y')轉換日期 –