2

2つの日付に対してテーブルをクエリし、その中のレコードを取得したいと思います。

私は自分の変数をそのように宣言します。

DECLARE @StartDate datetime;
DECLARE @EndDate datetime;

そして、私の変数をそのように設定します。

SET @StartDate = 2012-08-01;
SET @EndDate = 2012-08-02;

私のWHERE句;

WHERE Date BETWEEN  @StartDate AND @EndDate

クエリの実行時にレコードが表示されません。私の間違いは何ですか?日付に時間を追加しようとしましたが、それも機能しません。

4

3 に答える 3

3

代わりにこれを行う

SET @StartDate = '2012-08-01'; SET @EndDate = '2012-08-02';

以上

SET @StartDate = Convert(datetime,'2012-08-01',120); 
SET @EndDate = Convert(datetime,'2012-08-02',120);

これにより、8月1日のデータ、または8月2日の深夜としてマークされたデータが返されます。たとえば、次のようにマークされたものは返されません:8月2日の午前9時

于 2012-08-03T10:51:31.900 に答える
1
DECLARE @StartDate datetime, @EndDate datetime
SELECT @StartDate = '20120801', @EndDate = '20120802'

SELECT * from TableName
WHER Date between @StartDate and @EndDate
于 2012-08-03T10:53:20.050 に答える
0

で試した

WHERE Date >= @StartDate AND Date <= @EndDate
于 2012-08-03T10:55:03.803 に答える