1

クエリに問題があります。日付のデータの計算方法がわかりません。月初から1ヶ月前までの日付を表示したい。

例えば、今年。1月~9月 今月分は含みません。この状態に問題があります

and mhn.trh_masuk between add_months(Last_day(sysdate) + 1, -10) and add_months(Last_day(sysdate) + 0, -2)

これは私のオラクルのSQLです:

select DISTINCT
count(mhn.id_mohon) ide,
add_months(Last_day(sysdate)+1,-10) datejan,
add_months(Last_day(sysdate)+0,-2) onemonthbeforenow,
ku.nama u4
from
mohon mhn, kod_urusan ku, kod_caw kc
where
 mhn.kod_urusan = ku.kod(+)
and mhn.kod_caw = kc.kod(+)
AND KU.AKTIF = 'Y'
AND KU.KOD_JABATAN= 2
and mhn.trh_masuk between add_months(Last_day(sysdate)+1,-10) and add_months(Last_day(sysdate)+0,-2)
and (mhn.kod_caw = :p_kod_caw or :p_kod_caw is null)
and (mhn.kod_urusan in ('PBMT','PBMMK'))    
group by ku.nama

このソリューションの他の式について何か考えを持っている人はいますか?

4

1 に答える 1

3

このようにしてみて、

AND mhn.trh_masuk BETWEEN trunc(SYSDATE,'YEAR') AND last_day(add_months(TRUNC(SYSDATE), -1)) + .99999
于 2013-10-04T05:50:45.953 に答える