Google Big Query:需要帮助将Postgres查询转换为Google大查询

时间:2018-05-17 18:01:14

标签: sql google-bigquery

我正在尝试获取此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],无法将带括号的表达式解析为表达式,结构构造函数或子查询。

非常感谢任何帮助,谢谢。

2 个答案:

答案 0 :(得分:0)

我认为您只需要进行一些小修改,以便表达式使用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的语法。

答案 1 :(得分:0)

#standardSQL
SELECT COALESCE(NULLIF(DATE_ADD(drug_exposure_start_date, INTERVAL days_supply DAY), drug_exposure_start_date)) 
FROM x