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