【问题标题】:Google Big Query: Need help converting Postgres query to Google big query谷歌大查询:需要帮助将 Postgres 查询转换为谷歌大查询
【发布时间】:2018-05-17 18:01:13
【问题描述】:

我正在尝试获取这个 postgres 查询:

COALESCE(
NULLIF(drug_exposure_start_date + (INTERVAL '1 day' * days_supply), drug_exposure_start_date)

进入大查询。这是我认为应该起作用的:

SELECT 
COALESCE (
NULLIF(date_add(drug_exposure_start_date, INTERVAL (1 day * days_supply)), drug_exposure_start_date))
from `x` 

这是我收到的错误消息:

错误:语法错误:带括号的表达式在 [3:53] 处无法解析为表达式、结构构造函数或子查询。

任何帮助将不胜感激,谢谢。

【问题讨论】:

  • 很抱歉,我以为我已经将您的答案标记为正确。我现在做到了。感谢您为我提供的帮助。我真的很感激。

标签: sql google-bigquery


【解决方案1】:
#standardSQL
SELECT COALESCE(NULLIF(DATE_ADD(drug_exposure_start_date, INTERVAL days_supply DAY), drug_exposure_start_date)) 
FROM x

【讨论】:

  • 你有机会尝试吗?
【解决方案2】:

我认为您只需要稍作修改,以便表达式使用INTERVAL <days> DAY

SELECT
  COALESCE(
    NULLIF(date_add(drug_exposure_start_date, INTERVAL days_supply DAY),
           drug_exposure_start_date))
from x

您可以阅读有关DATE_ADD 和其他函数in the documentation 的语法的更多信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多