2

次のようなデータがあります。

データ

たとえば、今日は 2012 年 4 月です。上記のデータを参照すると、M_PER = 03-2012今月は の範囲にあるため、 でデータを取得したいと思います03-2012 TO 06-2012

--編集済み
この場合、使用された通貨コードのレートを取得したいと思います。今日はまだ 4 月なので、米ドル (USD) とインドネシア ルピア (IDR) のレートを知りたいので、 と でデータを取得する必要がありM_PER = 03-2012ますCRR_CURRENCY_CODE = USD

問題は、どのクエリがそのようなデータを取得できるかということです。

4

2 に答える 2

1

四半期ごとの値を使用しているように見えるので、'Q'形式モデルで TRUNC 関数を使用します。これは、日付を 1/1/YYYY、1/4/YYYY、1/7/YYYY、1/10/YYYY、つまり四半期の最初の日に切り捨てます。

四半期の終わりの月であるモデルに合わせるには、2 か月を追加する必要があります。MONTH_PERIODこれは、列が SQL 日付であり、他のデータ型ではないことを前提としています。

以下に、SYSDATE を入力日付として使用する例を示します。

select *
from your_table
where add_months(trunc(sysdate, 'Q'),2) = month_period;
于 2012-04-17T13:42:47.227 に答える
-1

rownum と order by を使用して値を取得します。
SELECT * FROM tables WHERE m_per > '04-2012' AND ROWNUM = 1 ORDER BY month_period ASC

于 2012-04-17T11:29:44.353 に答える