【问题标题】:Snowflake SQL compilation error: syntax error line XX at position XX unexpected '('Snowflake SQL 编译错误:位置 XX 处的语法错误行 XX 意外 '('
【发布时间】:2019-12-17 15:16:17
【问题描述】:

在 Snowflake 上运行 SQL 查询时,我收到语法错误,我有 意外的 '('。下面是给我错误的代码。

,(EndOrder_time) - min(StartOrder_time) over (
    partition by EntryNumber, TechnicianEnterpriseID
    order by RouteDateTime rows between 1 preceding and current row
) day (4) to second as Repair_Time 

【问题讨论】:

    标签: sql snowflake-cloud-data-platform


    【解决方案1】:

    Snowflake 以这种方式计算时间戳差异:

    DATEDIFF(SECONDS, StartOrder_time, EndOrder_time)

    【讨论】:

      【解决方案2】:

      Snowflake 在 11 月添加了使用 + 和 - 进行日期数学运算的功能。 "day (4) to second" 不是 Snowflake 语法

      【讨论】:

      • 我前段时间看到了公告(和文档),但您无法从中获得几秒钟的时间。而且我只能使用DATE,而不是TIMESTAMP(类型错误)。可能是我的错。
      • 好收获。我阅读了发行说明和文档,但似乎不支持时间戳。
      • 实际上,文档说“date_or_time_expr1, date_or_time_expr2 必须是日期、时间、时间戳或可以计算为日期、时间或时间戳的表达式。值 date_or_time_expr1 是从 date_or_time_expr2 中减去。”但我无法使用TIMESTAMP...
      猜你喜欢
      • 2020-11-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-21
      • 1970-01-01
      • 1970-01-01
      • 2016-01-31
      • 1970-01-01
      相关资源
      最近更新 更多