【问题标题】:Why this gives an error when I run in snowflake?为什么当我在雪花中运行时会出错?
【发布时间】:2022-01-17 20:49:35
【问题描述】:
add_months(CURRENT_DATE() - 1,'MONTH')    

抛出错误

函数“>=”的参数类型无效:(ROW(TIMESTAMP_NTZ(9), VARCHAR(5)), DATE)

【问题讨论】:

  • 您需要提供完整的查询,以便任何人有机会帮助您。
  • 月份参数不能用单引号括起来。该参数需要一个数字。

标签: sql oracle snowflake-cloud-data-platform


【解决方案1】:

根据文档,正确的语法如下所示:

select current_date(), add_months(current_date(), 1);

【讨论】:

    【解决方案2】:

    OracleSnowflake 中,语法为:

    ADD_MONTHS( <date_or_timestamp_expr> , <num_months_expr> )
    

    所以你会想要:

    add_months(CURRENT_DATE, -1)
    

    (注意:CURRENT_DATE() 也可以在 Snowflake 中使用,但不能在 Oracle 中使用。)

    【讨论】:

    • 我使用 add_months(trunc(CURRENT_DATE(),'mm'), -1) 这解决了我的问题。谢谢
    猜你喜欢
    • 2020-05-07
    • 1970-01-01
    • 1970-01-01
    • 2021-10-05
    • 2019-05-20
    • 2021-12-31
    • 2020-07-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多