我想在某个包含日期的列等于一个月的最后一天时显示输出,然后另一列包含其他日期的列应该等于相同的日期减去1天
SELECT
CASE WHEN s.audit_date <> null
THEN us.processing_date = s.audit_date - 1 END processing_date
, g.mobile_no
FROM customers cu
INNER JOIN gsm.mobile_no g ON g.id = cu.id;
但不幸的是,这不起作用..
答案 0 :(得分:0)
我可以在您的查询中看到一些问题。
select us.processing_date, s.audit_date, CASE WHEN s.audit_date = trunc(s.audit_date, 'MM') THEN s.audit_date - 1 END processing_date, g.mobile_no from customers cu inner join gsm.mobile_no g on g.id = cu.id
答案 1 :(得分:0)
除其他外,我认为您需要一个else
子句并将比较修复为NULL
:
select (case when s.audit_date is not null then s.audit_date - 1
else s.processing_date
end) as processing_date, g.mobile_no
from customers cu inner join
gsm.mobile_no g
on g.id = cu.id;