我有开始日期时间和结束日期时间。两者都是时间戳列。选择时,我需要检查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
我遇到错误。
答案 0 :(得分:0)
您的逻辑是这样的:
(CASE WHEN PRICEROW.price_end_time > PRICEROW.price_start_time
THEN PRICEROW.price_end_time
END) AS SOFTMARK_END_DATETIME
比较中隐含NULL
检查。
答案 1 :(得分:0)
请尝试此查询。
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