[英]Date format conversion `dd-mm-yyyy` to `yyyy-mm-dd` from in mysql procedure
我转换日期格式在我的表列date
从dd-mm-yyyy
,以yyyy-mm-dd
(MySQL数据库转换)。
date_format(str_to_date("date",'%d-%b-%Y'), '%Y-%m-%d')
在数据库表中, date
列值可以为01-01-1987
或01-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.