2016-05-27 8 views
0

2番目の選択結果が返されないのはなぜですか?これは同じクエリですが、DATEDIFFはwhere節では機能しません。SQL datediff = Nが正常に機能しない

SELECT proposedend, DATEDIFF(day,ProposedEnd, GETDATE()) 
FROM Campaign 
WHERE CampaignId = '2AB915AF-48CD-E431-BEE2-4EF3FC563A54' 

Query Result

SELECT C.CampaignId, '[email protected]' 
FROM Campaign C 
WHERE DATEDIFF(day,ProposedEnd, GETDATE()) = 1 AND C.TypeCode = 2 
+6

この行に 'TypeCode = 2'がありますか? – Mureinik

+3

SQLコード自体に問題はありません。テーブルのデータに異常がある必要があります。 – iDillon

+0

2番目の条件をコメントアウトしてもう一度確認してください –

答えて

0

結果が来ていない理由2例が存在することができます:

ケース1:

DATEDIFF(day,ProposedEnd, GETDATE()) = 1 であれば、C.TypeCode = 2偽でありますからyあなたがなぜ出力を得ていないのかをオペレータが使用しています。

ケース2:

C.TypeCode = 2しかしDATEDIFF(day,ProposedEnd, GETDATE()) = 1ある条件は常にその場合はfalseになりますので、あなたのproposedend日付が1日またはCURRENTDATE上にあるので、です。

+0

ケース2はスクリーンショットに1が表示されるため、実際にはそうではありません。 –

関連する問題