select B.ENNMCD, B.ENNM,
decode(to_char(:dt,'YYYY-MM-DD'),to_char(A.YEAR)||'-'||to_char(A.MONTH)||'-'||to_char(A.DAY),A.P,0) AS DayBefore,
decode(to_char(:dt-1,'YYYY-MM-DD'),to_char(A.YEAR)||'-'||to_char(A.MONTH)||'-'||to_char(A.DAY),A.P,0) As Yesterday,
decode(to_char(:dt-2,'YYYY-MM-DD'),to_char(A.YEAR)||'-'||to_char(A.MONTH)||'-'||to_char(A.DAY),A.P,0) As Today
from U_ST_DP_R A, U_GN_ENNMCD B
where (A.YEAR=extract(year from :dt) and A.MONTH=extract(month from :dt) and A.DAY=extract(day from :dt))
or    (A.YEAR=extract(year from :dt-1) and A.MONTH=extract(month from :dt-1) and A.DAY=extract(day from :dt-1))
or    (A.YEAR=extract(year from :dt-2) and A.MONTH=extract(month from :dt-2) and A.DAY=extract(day from :dt-2))
and   Trim(A.STCD) in ('CAAA01011','CAAA01021')
and   A.STCD=B.ENNMCD
order by A.STCD
就是在这个SQL语句中用到的