2

私はデータベースを初めて使用するので、質問を無視してください。

日付と日付の2つのテキストボックスにカレンダーがあり、それらのテキストボックスで選択された特定の日付に対してグリッドビューでデータを取得したいと思います。

この操作のストアドプロシージャを作成しましたが、ストアドプロシージャについてよくわかりません。

これが私のストアドプロシージャです

select * from cor_leave 
where dt_from >= @dt_from and dt_from <= @dt_to

私は正しい方向に進んでいます、または私が何か間違ったことをしているなら私を助けてください?または私の問題を解決できる方法はありますか?

4

3 に答える 3

0

他の回答に加えて、あなたdt_toが残っている可能性がありますNULL

@dt_toその場合、クエリはnull のレコードを取得しません。

このような問題を回避するには、以下のクエリを参照してください。

SELECT * 
FROM cor_leave  
WHERE dt_from BETWEEN @dt_from AND ISNULL(@dt_to,dt_from) 
于 2012-09-06T09:45:50.590 に答える
0

次の方法でクエリを実行する必要があります。

select * from cor_leave 
where dt_from between @dt_from and @dt_to
于 2012-09-06T06:52:40.197 に答える
0

はい、あなたは正しく進んでいます。ただし、探している正しい日付範囲を取得するにはdt_from、データ型と互換性のあるデータ型である必要があることに注意してください。date

andBETWEENの代わりに使用することもできます。>=<=

SELECT *
FROM cor_leave 
WHERE dt_from BETWEEN @dt_from AND @dt_to
于 2012-09-06T06:51:53.880 に答える