2017-08-01 20 views
1

を返すことができません見ることができます:私のSQL Serverのクエリは、私はこのクエリを持っている期待される結果

select 
Receptions.SubmitDatetime as SubmitReceptionDatetime 
,Receptions.ExpirePetrolDatetime as ExpireDatetime 
    from Receptions 
where 

    (Receptions.SubmitDatetime >=CONVERT(datetime,'8-1-2017')) 
and (Receptions.SubmitDatetime <=CONVERT(datetime,'8-1-2017')) 
order by Receptions.id desc 

しかし、なぜレコードが返されませんか?

+1

おそらく日付形式の日 - 月 - 年対月 - 日 - 年。トラブルは、あなたがあいまいな日付形式を選んだある - 「(2017' 年8月1日 'と、それはあなたが期待する値を返すかどうかを確認' CONVERT日時を、)を選択して実行してみてください – lad2025

+0

20170801''」 'Receptions.SubmitDatetime> =と試してみてください1月8日または8月1日と解釈される可能性があります。普遍的な 'YYYYMMDD'フォーマットで提供してみてください。 – Bridge

+0

@Bridge問い合わせが返されます。2017-08-01 00:00:00.000 –

答えて

4

は、時間の一部を試してみてください。

select 
Receptions.SubmitDatetime as SubmitReceptionDatetime 
,Receptions.ExpirePetrolDatetime as ExpireDatetime 
    from Receptions 
where 

    (Receptions.SubmitDatetime >= '2017-08-01T00:00:00' 
and (Receptions.SubmitDatetime <='2017-08-01T23:59:59') 
order by Receptions.id desc 

あなたorigialクエリは同等です:

Receptions.SubmitDatetime = '2017-08-01T00:00:00' 
+0

ありがとうございますしかし、私は質問に時間を入れたくありません。 –

2

問題は、日付時刻に文字列を変換する際に、時間が深夜であるということです。 MS Docsを参照してください。

だから、あなたは8月1日の真夜中の前と後の両方のレコードを求めています。それらは存在しません。

あなたは8月8日のレコードをしたいと仮定:

select 
Receptions.SubmitDatetime as SubmitReceptionDatetime 
,Receptions.ExpirePetrolDatetime as ExpireDatetime 
    from Receptions 
where 

    (Receptions.SubmitDatetime >=CONVERT(datetime,'8-1-2017')) 
and (Receptions.SubmitDatetime <=CONVERT(datetime,'9-1-2017')) 
order by Receptions.id desc 
1

はこれを試してみてください。

select 
Receptions.SubmitDatetime as SubmitReceptionDatetime 
,Receptions.ExpirePetrolDatetime as ExpireDatetime 
    from Receptions 
where 
convert(varchar(8),Receptions.SubmitDatetime,112)='20170801' 
order by Receptions.id desc 

あなたは上記の例がそうであるようちょうど日にその背中を変換する必要があるので、あなたの「Receptions.SubmitDatetimeは、」時間が含まれています。

+2

このメソッドの欠点の1つは、 'convert(varchar(8)、Receptions.SubmitDatetime、112)= '20170801'という式がSARG対応ではないということです。 – lad2025

+1

Excellent point @ lad2025 – JPF

関連する問題