2016-11-07 3 views
0

では動作しません:T-SQLクエリは、私はという名前は、次の表を持っているDATE

Table 1

私は、次のステートメントを実行した場合:

SELECT * 
FROM E_TARIFFE 
WHERE COD_EVENTO = 1 
AND PAGAMENTO_UNICO = 1 
AND VALIDA_DAL >= CONVERT(DATE,GETDATE()) -- Today, 2016-11-07 
AND VALIDA_AL <= CONVERT(DATE,GETDATE()) 

をクエリはありません任意の行を戻します。どうして?
出力に3行目が必要です...

ありがとうございました。

答えて

2

あなたは後方のロジックを持っている:

WHERE COD_EVENTO = 1 AND 
     PAGAMENTO_UNICO = 1 AND 
     VALIDA_DAL <= CONVERT(DATE, GETDATE()) AND -- Today, 2016-11-07 
     VALIDA_AL >= CONVERT(DATE, GETDATE()) 

を私は日付をBETWEENのファンではないが、あなたは、この優れたに従うかもしれません:あなたは何を意味する

WHERE COD_EVENTO = 1 AND 
     PAGAMENTO_UNICO = 1 AND 
     CONVERT(DATE, GETDATE()) BETWEEN VALIDA_DAL AND VALIDA_AL 
+0

ありがとうございます。 :) – Andryx93

1

VALIDA_DALの日付の値がすべて今日の日付よりも小さい。これは行を返しません。

+0

? – scsimon

+2

どういう意味ですか、何を意味していますか?彼はなぜ彼のクエリが行を返さないのか尋ねました。これが理由です。 – Pops

+0

私はテーブルが本当に4行しか持っていなかったと仮定します。行3がなぜ戻ってこなかったのか、それはデータセット全体としてはかなり広い仮定に過ぎません。 – scsimon

関連する問題