[英]MySQL STR_TO_DATE function returning NULL
誰能幫我找出解決方案-我正在執行以下查詢
SELECT STR_TO_DATE(order_date, '%d-%m-%Y') FROM `order_master`
它返回NULL
但是我在表中有2行,其值分別為'Today'和'15 -08-2017',我想將varchar字段與date進行比較,嘗試了很多但不能成功。 謝謝。
SELECT STR_TO_DATE('15-08-2017', '%d-%m-%Y')
效果很好。 它產生DATE
值2017-08-15
。
SELECT STR_TO_DATE('Today', '%d-%m-%Y')
顯然不是。 它產生NULL。
如果返回NULL,則可以使用類似這樣的方法將當前日期替換為STR_TO_DATE()
結果。
SELECT IFNULL(STR_TO_DATE('15-08-2017', '%d-%m-%Y'), CURDATE())
但是你最好的選擇是使用這樣的東西
SELECT IF('Today'=order_date, CURDATE(), STR_TO_DATE(order_date ,'%d-%m-%Y'));
這會將當前日期替換為Today
的order_date
值,但將其他格式錯誤的order_date
值保留為NULL值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.