繁体   English   中英

在mysql过程中将日期格式从dd-mm-yyyy转换为yyyy-mm-dd

[英]Date format conversion `dd-mm-yyyy` to `yyyy-mm-dd` from in mysql procedure

我转换日期格式在我的表列datedd-mm-yyyy ,以yyyy-mm-dd (MySQL数据库转换)。

date_format(str_to_date("date",'%d-%b-%Y'), '%Y-%m-%d')

在数据库表中, date列值可以为01-01-198701-01-87 因此,如果日期列的值是01-01-1987 (YYYY)则其工作正常。 如果日期值为01-01-87 (YY)并且日期将更新为null,则此方法无效。

请参见以下过程代码:

SET @oQry = CONCAT("UPDATE ",importTable," as t1 JOIN ( SELECT id,date_format(str_to_date(",@date_fields,",'%d-%b-%Y'), '%Y-%m-%d') as date_formate FROM ",importTable," ) as t2 ON t1.id = t2.id set t1.",@date_fields," = t2.date_formate");

如果日期值在01-01-87 (YY)谁能建议我们如何处理它。

小写字母(y)表示两位数年份,大写字母(y)表示四位数年份。 https://www.w3resource.com/mysql/date-and-time-functions/mysql-date_format-function.php

所以试试这个:

select str_to_date('01-01-87','%d-%m-%Y')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM