【问题标题】:Mysql str_to_date shows null instead of formatted dateMysql str_to_date 显示 null 而不是格式化日期
【发布时间】:2015-03-05 02:00:42
【问题描述】:

我在将日期时间列转换为 y-m-d 格式时遇到了一个愚蠢的问题。

我正在运行以下查询:

SELECT STR_TO_DATE(dateadded, '%y-%m-%d') FROM my_table

注意:添加日期的列是一种日期时间。

每当我在上面运行查询时,它总是显示 (NULL)。

谁能解决这个问题,因为这让我很恼火?

【问题讨论】:

  • 你能展示示例数据吗?

标签: mysql sql str-to-date


【解决方案1】:

由于您的列是日期时间类型而不是字符串类型,您应该使用DATE_FORMAT 函数,如下所示:

SELECT DATE_FORMAT(dateadded, '%y-%m-%d') 
FROM my_table

【讨论】:

    【解决方案2】:

    此查询适用于表格中的四位数年份

    SELECT STR_TO_DATE(dateadded, '%Y-%m-%d') 
    FROM my_table
    

    虽然这适用于两位数的年份

    SELECT STR_TO_DATE(dateadded, '%y-%m-%d') 
    FROM my_table
    

    您可以通过以下查询尝试此操作

    SELECT 
       STR_TO_DATE('99-12-12', '%y-%m-%dd'),
       STR_TO_DATE('1999-12-12', '%Y-%m-%dd')
    

    两个输出都是

    1999-12-12
    

    for further details

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-02
      • 2019-01-12
      • 1970-01-01
      相关资源
      最近更新 更多