【问题标题】:MySQL: str_to_date multiple formatsMySQL:str_to_date 多种格式
【发布时间】:2014-12-09 21:13:34
【问题描述】:

我有一个 ETL 清理项目,其中有一个联合日期列,其中包括“2014-10-14”和“10/14/2014 12:00:00 AM”等格式。我试图找到一种巧妙的方法,我可以在 case 语句中使用 str_to_date 函数或其他方式来帮助确定它是哪种格式,然后将其转换为日期。

到目前为止,我所有的努力都失败了。有什么想法吗?

【问题讨论】:

    标签: mysql case str-to-date


    【解决方案1】:

    如果特定转换失败,str_to_date 将返回NULL,因此您可以先尝试做一个。如果结果是NULL,请尝试其他格式。

    例如:

    coalesce(
      str_to_date(create_date, '%Y-%m-%d'),
      str_to_date(create_date, '%m/%d/%Y %h:%i:%s %p'),
      str_to_date(create_date, '%d/%b/%Y %H:%i:%s')
    )
    

    【讨论】:

      猜你喜欢
      • 2015-04-07
      • 2016-01-26
      • 1970-01-01
      • 1970-01-01
      • 2020-07-04
      • 1970-01-01
      • 1970-01-01
      • 2014-09-12
      • 1970-01-01
      相关资源
      最近更新 更多