1

指定された日付値に基づいてDBからレコードを取得したい。coulmnタイプとしてTimestampを使用しました。私はクエリを使用しました

SELECT * 
FROM table1
WHERE LAST_UPDT_S = to_date('23-AUG-12')

空のテーブルを取得しています。ここで、レコードはテーブルに存在していました。

この問題から私を整理してください。

前もって感謝します。

4

3 に答える 3

1

一般に、時間範囲を使用することをお勧めします。これにより、インデックスが存在する場合にそれを使用できる可能性が広がります。

SELECT * 
FROM table1
WHERE LAST_UPDT_S >= DATE '2012-08-23'
  AND LAST_UPDT_S < DATE '2012-08-24'

(また、日付形式を指定せずにTO_DATEを使用しないことをお勧めします。そうしないと、現在のセッションのNLS設定が何であれ使用されます。)

于 2012-08-27T03:22:03.477 に答える
1

テーブルに時間部分のある日付が含まれている可能性があるため、次を使用してみてください。

SELECT * 
FROM table1
WHERE Trunc(LAST_UPDT_S) = to_date('23-AUG-12')
于 2012-08-24T10:14:30.140 に答える
1

これを試して、

SELECT * 
FROM table1 
WHERE LAST_UPDT_S = to_date('23-AUG-12', 'DD-MON-YY')

参照: TO_DATE マニュアル

于 2012-08-24T10:02:04.617 に答える