【问题标题】:(Presto)Amazon Athena Convert String to Date(Presto)Amazon Athena 将字符串转换为日期
【发布时间】:2022-06-21 15:10:17
【问题描述】:

我想将日期设置为 YYYYY-MM-01。我该如何解决这个错误? 请帮帮我..

错误SQL:

select DATE_parse('2022-05-21','%Y-%m-01') as YYYYMM from tb1;

错误文本:

INVALID_FUNCTION_ARGUMENT:无效格式:“2022-05-21”在“21”处格式错误

【问题讨论】:

  • 为什么要在%Y-%m 之后使用01 而不是%D
  • @KenWhite 原因是我想获取列中日期的月初
  • 如果输入'2022-05-21',我想要值'2022-05-01'。

标签: amazon-athena presto athena


【解决方案1】:

自行解决。 select DATE_ADD('day', 0, date_trunc('month', date(cast('2022-05-21' as date)))) from tb1;

【讨论】:

  • 这里为什么需要date_add
  • 因为我想使用 DATE_ADD 将 '2022-05-22' 更改为 '2022-05-01'。
  • 但是date_trunc 是在改变什么而date_add(.. 0) 什么都不做,不是吗?
【解决方案2】:

试试这个:

select  cast(concat(substr('2022-05-21',1, 7), '-01') as date)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-14
    • 1970-01-01
    • 2021-11-04
    • 2017-02-14
    • 2018-12-19
    • 2021-07-29
    • 2018-09-14
    • 1970-01-01
    相关资源
    最近更新 更多