标题重写为:将字符串转换为日期的中文翻译是MYSQL函数STR_TO_DATE
P粉270891688
P粉270891688 2023-09-02 11:09:45
0
1
499
<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')。

请参见演示

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板