在我的資料庫表中,有一個日期列,即預期日期,格式為 dd-mm-yyyy,該列的資料型別為文本。現在,我想將格式轉換為 yyyy-mm-dd。但是日期根本沒有改變,當我試圖獲取預期日期列的時間戳時也是如此。我遇到了一些錯誤。對于即將到來的日期,我使用了這個 STR_TO_DATE。但是這一年并沒有像我期望的那樣到來,時間戳也沒有。
例如:
select STR_TO_DATE ('30-11-2011', '%d,%m,%y') as date ;
回傳結果為
2020-11-30
而對于時間戳
select STR_TO_DATE ('2011,11,30 12,30,45', '%y,%m,%d, %H,%I,%S');
我沒有收到錯誤。
請幫我得到這個問題的正確答案。
uj5u.com熱心網友回復:
對于第一個查詢,您需要使用 %Y。請記住,多年來使用“Y”總是更好。當您在年份上撰寫查詢時。
SELECT STR_TO_DATE("30,11,2011", "%d,%m,%Y");
對于第二個,您也可以使用 '%Y' 代替 '%y' 并且分鐘使用 '%i' 而不是 '%I' 以及小時和分鐘。你可以使用任何你喜歡的。
SELECT STR_TO_DATE("2011,11,30 12,30,45", "%Y,%m,%d %h,%i,%s");
有關 SQL 命令的更多說明,請參閱以下檔案。
uj5u.com熱心網友回復:
你需要%Y(資本Y)為4位數的年份,使用MySQL的時候STR_TO_DATE。此外,分鐘由 表示%i,而不是%I,后者是 0 到 12 級的小時。所以使用:
SELECT STR_TO_DATE('30-11-2011', '%d-%m-%Y');
SELECT STR_TO_DATE('2011,11,30 12,30,45', '%Y,%m,%d %H,%i,%S');
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/362925.html
下一篇:如何更改SQL格式
