標題重寫為:將字串轉換為日期的中文翻譯是MYSQL函數STR_TO_DATE
P粉270891688
P粉270891688 2023-09-02 11:09:45
0
1
491
<p>我在這個日期中有這個日期: <code>STR_TO_DATE('28-AUG-60','%d-%M-%y')</code> 當我插入表時,我得到的是: <strong>2060-08-28 00:00:00</strong> 我期望的是: <strong>1960-08-28 00:00:00</strong> 我知道在MSSQL中有一個RR格式,它給你2位或4位數字的年份,00-49年代是20世紀,我在MySQL中該怎麼做呢? 當我查看文件時,我發現它應該使用%Y,但實際上不起作用 謝謝! </p>
P粉270891688
P粉270891688

全部回覆(1)
P粉436410586

如果您知道所有大於某個值的兩位數年份,例如'50',應被視為1900年代的年份,而其餘的應被視為2000年代的年份,您可以使用CASE表達式來套用不同的日期格式:

SELECT DATE(STR_TO_DATE(
         date,
         CASE WHEN RIGHT(date, 2) < ? THEN '%d-%M-%Y' ELSE '%d-%M-%y' END 
       )) date
FROM tablename;

?改為適合您資料的兩位數年份(如'50')。

請參考演示

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板