3

C# を使用して、Oracle データベース BY DATE からデータを選択しようとしています。ただし、同じクエリ文字列が Oracle SQL Developer で正常に機能するにもかかわらず、常に空のデータ セットを取得しています。

String Query = "Select position_date from position";
OracleDataAdapter adapter = new OracleDataAdapter(Query, ocon); 
adapter.Fill(ds, "table"); //where ds is a dataset 
PrintDataSet(ds);

戻り値

3/8/2011 12:00:00 AM.... and more

ただし、クエリを以下に変更すると、出力がありません!

String Query = "Select position_date from position 
where to_char(position_date, 'mm-dd-yyyy') = '05-17-2012'"

このクエリは、Oracle SQL 開発者で正常に機能します。trunc(sysdate) も試しましたが、何も機能していないようです! :(

4

2 に答える 2

1
select * from position where trunc(position_date) = to_date('05-17-2012', 'mm-dd-yyyy')

働いた。

ありがとう。

于 2012-05-18T13:11:20.453 に答える
0

日付に時間コンポーネントがない場合 (そうである場合は、チェック制約でそれを保証します)、次のようになります。

Select position_date
from   position 
where  position_date = date '2012-05-17'

さもないと:

Select position_date
from   position 
where  position_date >= date '2012-05-17' and 
       position_date <  date '2012-05-17' + 1
于 2012-05-18T08:05:23.900 に答える