我在比较日期时遇到了问题。我想将我的表上的end_time列与一些平均算术值进行比较,对于许多行。
when PPLP_NAME='OCS_PPL_IMP_OFFER_STATE' then
CASE WHEN ( to_char(END_TIME, 'DD/MM/YYYY HH24:MI:SS')<= '011100' )
THEN 100 ELSE 0 END
END
AS STATUS,
例如,我想比较上述PPLP_NAME的end_time在上午11点比较低于或等于每月01。
以下查询未执行请求。
你能帮帮我吗?
感谢lto。
答案 0 :(得分:1)
不要使用字符串比较来比较日期 - 只需比较日期:
我想比较上述PPLP_NAME的end_time在每个月的上午11点低于或等于01.
然后你需要查看日期是否小于或等于月份的TRUNC
日期,加上11个小时:
WHEN PPLP_NAME='OCS_PPL_IMP_OFFER_STATE' then
CASE
WHEN END_TIME <= TRUNC( END_TIME, 'MM' ) + INTERVAL '11' HOUR
THEN 100
ELSE 0
END
END AS STATUS,