【问题标题】:Athena - String to Date coversionAthena - 字符串到日期的转换
【发布时间】:2021-07-29 20:56:50
【问题描述】:

我想将下面的字符串转换为仅日期列。该列将时间和日期都存储为字符串

字符串 2021-01-01 12:43:58 ==> 2021-01-01

【问题讨论】:

    标签: amazon-athena


    【解决方案1】:

    你可以通过这个查询实现你想要的:

    SELECT
    cast(date_parse(column, '%Y-%m-%d') as date)
    FROM
    table
    

    【讨论】:

      【解决方案2】:

      您可以使用 date_formatdate_parse 或作为日期来实现:

      SELECT date_format(date_parse('2021-01-01 12:43:58', '%Y-%m-%d %h:%i:%s'),'%Y-%m-%d')
      

      会给2021-01-01

      只需将时间戳替换为列名

      SELECT date_format(date_parse(<timestamp_column>, '%Y-%m-%d %h:%i:%s'),'%Y-%m-%d')
      

      现在使用 cast 如下所示

      SELECT cast(date_parse('2021-01-01 12:43:58', '%Y-%m-%d %h:%i:%s') as date)

      类似地用列名替换时间戳

      【讨论】:

        【解决方案3】:

        对于什么是有价值的,这是一个无需从字符串到日期来回转换的解决方案:

        select substr(column,1,10) from mytable
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2022-06-21
          • 2022-01-14
          • 1970-01-01
          • 2018-02-23
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多