Большой запрос Google: нужна помощь в преобразовании запроса Postgres в большой запрос Google - PullRequest
0 голосов
/ 17 мая 2018

Я пытаюсь получить этот запрос 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 голосов
/ 17 мая 2018
#standardSQL
SELECT COALESCE(NULLIF(DATE_ADD(drug_exposure_start_date, INTERVAL days_supply DAY), drug_exposure_start_date)) 
FROM x
0 голосов
/ 17 мая 2018

Я думаю, вам просто нужна небольшая модификация, чтобы выражение использовало INTERVAL <days> DAY:

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

Подробнее о синтаксисе DATE_ADD и других функциях вы можете прочитать в документации .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...