【问题标题】:Update DATE in tables stored as VARCHAR after conversion转换后更新存储为 VARCHAR 的表中的 DATE
【发布时间】:2017-08-23 12:48:33
【问题描述】:

我从 Excel 导入数据并将日期以 VARCHAR 格式作为 2017 年 3 月 24 日,因为日期没有保存。所以我为了方便起见使用了 VARCHAR。现在我正在付出代价。

我正在尝试使用 STR_TO_DATE 函数进行转换,以便可以更新行中的新列(定义为 DATE)。

当我使用以下内容时,它看起来很有希望,但只有月/日转换正确,年份变为 2020,如下所示:

date_order $conv_date_order

2017 年 3 月 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;

【问题讨论】:

    标签: mysql date str-to-date


    【解决方案1】:

    您需要在 '%m/%d/%Y' 格式字符串中使用大写的 Y 来表示四位数的年份。小写的 y 表示两位数的年份。

    【讨论】:

    • 谢谢你,乔。这很容易!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-09-17
    • 2020-03-11
    • 1970-01-01
    • 1970-01-01
    • 2014-01-19
    • 1970-01-01
    • 2015-06-27
    相关资源
    最近更新 更多