我将表格列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)
且日期将更新为空,则无效。
请参阅以下程序代码:
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)
中,有人可以建议我们如何处理它。
答案 0 :(得分:1)
小写版本('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')