【问题标题】:Converting date format using str_to_date使用 str_to_date 转换日期格式
【发布时间】:2012-06-28 00:02:41
【问题描述】:

在我的 Mysql 数据库表之一中,日期以 31-Jan-05 格式存储。 在将它们插入其他表之前,我正在尝试将此格式转换为 2005-01-31。 这种方式我试过str_to_date(exam_date, '%d%M%Y'),但是遇到如下错误

Incorrect datetime value: '31-Jan-05' for function str_to_time

我不能使用 str_to_date 将日期格式从 31-Jan-05 更改为 2005-01-31 吗?

提前致谢。

【问题讨论】:

    标签: mysql date-format


    【解决方案1】:

    是的。但是你有两个问题。

    1. 第二个参数是当前日期格式。 (即字符串)
    2. 您需要使用正确的格式(即%b 而不是%M)。

    阅读docs the for str_to_date()

    str_to_date(exam_date, '%d-%b-%y')
    

    注意:如果您没有零填充日,那么您需要使用%e 而不是%d

    【讨论】:

    • 我用str_to_date(exam_date, '%d%b%y') 再次尝试过,但仍然出现同样的错误
    • 正如 Jason 所说,查看文档中的 str_to_date。它要求传入日期的格式,它不能“足够接近”,它必须相同 - 包括任何破折号或斜杠或其他任何东西。
    猜你喜欢
    • 1970-01-01
    • 2021-12-29
    • 2015-12-15
    • 2015-03-02
    • 1970-01-01
    • 1970-01-01
    • 2023-03-06
    • 2020-11-24
    • 2017-12-23
    相关资源
    最近更新 更多