Условие, применяемое между двумя столбцами отметок времени - PullRequest
0 голосов
/ 05 апреля 2019

У меня есть start_datetime и end_datetime. Оба столбца отметок времени. При выборе мне нужно проверить, если end_datetime не равно NULL и end_datetime> = start_datettime, тогда взять end_datetime, иначе не нужно печатать.

Я использую Redshift.

CASE 
 WHEN PRICEROW.price_end_time IS NOT NULL OR PRICEROW.price_end_time!='' 
      THEN PRICEROW.price_end_time 
END AS SOFTMARK_END_DATETIME

Я получаю ошибку.

Ответы [ 2 ]

0 голосов
/ 05 апреля 2019

Пожалуйста, попробуйте этот запрос.

CASE 
 WHEN nvl(PRICEROW.price_end_time,'') !='' AND PRICEROW.price_end_time > PRICEROW.price_start_time
      THEN PRICEROW.price_end_time 
END AS SOFTMARK_END_DATETIME
0 голосов
/ 05 апреля 2019

Ваша логика выглядит примерно так:

(CASE WHEN PRICEROW.price_end_time > PRICEROW.price_start_time  
      THEN PRICEROW.price_end_time 
 END) AS SOFTMARK_END_DATETIME

Проверка NULL неявна в сравнении.

...