0

パラメータで特定の時間またはそれ以前にテーブルからデータを選択しようとしています。

これは私の現在のクエリです:

SELECT Expiry_Date FROM Table1
WHERE Expiry_Date <= :dateParam AND Expiry_Date > sysdate

問題は、12.00.00.000000000 AM を超える時間部分を持つ 14-NOV-13 03.01.45.362000000 PM などのデータを含むテーブルの日付が結果に返されないことです。そのため、パラメーターとして 14-NOV-13 を入力すると、14-NOV-13 03.01.45.362000000 PM のデータは返されません。

どうすれば日付部分を取得したり、フィールドの日付列をフロア関数にしたりできますか?

4

1 に答える 1

3

Oracleではどちらでも実行できます。 trunc日時で動作します:

where trunc(Expiry_date) <= :dateParam and Expiry_Date > trunc(sysdate)
于 2013-02-07T03:15:16.530 に答える