转换后更新存储为 VARCHAR 的表中的 DATE
Update DATE in tables stored as VARCHAR after conversion
我从 Excel 导入数据并以 VARCHAR 格式将日期作为 03/24/2017 引入,因为日期未保存。所以我使用 VARCHAR 是为了方便。现在我正在付出代价。
我正在尝试使用 STR_TO_DATE 函数进行转换,以便我可以更新行中的新列(定义为 DATE)。
当我使用以下内容时它看起来很有希望,但只有 month/day 正确转换,年份变为 2020,如下所示:
date_order$conv_date_order
2017-03-24 2020-03-24
SELECT date_order, STR_TO_DATE(date_order, '%m/%d/%y') AS $conv_date_order,
date_shipped, STR_TO_DATE(date_shipped, '%m/%d/%y') AS $conv_date_shipped,
date_need, STR_TO_DATE(date_need, '%m/%d/%y') AS $conv_date_need
FROM Orders
WHERE Orders.id = $id;
您需要在 '%m/%d/%Y'
格式字符串中使用大写 Y 来表示四位数年份。小写的 y 表示两位数的年份。
我从 Excel 导入数据并以 VARCHAR 格式将日期作为 03/24/2017 引入,因为日期未保存。所以我使用 VARCHAR 是为了方便。现在我正在付出代价。
我正在尝试使用 STR_TO_DATE 函数进行转换,以便我可以更新行中的新列(定义为 DATE)。
当我使用以下内容时它看起来很有希望,但只有 month/day 正确转换,年份变为 2020,如下所示:
date_order$conv_date_order
2017-03-24 2020-03-24
SELECT date_order, STR_TO_DATE(date_order, '%m/%d/%y') AS $conv_date_order,
date_shipped, STR_TO_DATE(date_shipped, '%m/%d/%y') AS $conv_date_shipped,
date_need, STR_TO_DATE(date_need, '%m/%d/%y') AS $conv_date_need
FROM Orders
WHERE Orders.id = $id;
您需要在 '%m/%d/%Y'
格式字符串中使用大写 Y 来表示四位数年份。小写的 y 表示两位数的年份。