2016-04-11 9 views
0

私は日の差が7を超えているところ結果が表示されますアクセスSQLでクエリを記述しようとしています(両方とも7および-7)アクセスSQL DATEDIFFより大きい7日

私はこれが働くだろうと思いました

SELECT DateDiff('d', EndDate1, EndDate2) > 7 AS EndDate 
FROM TableName 

私はそれを実行しようとすると、私は次のエラーを取得するしかし、私は間違って

Error in list of function arguments: '>' not recognized. 
Unable to parse query text. 

何をしているのですか?

+0

クエリは、ブール値 - Accessで '0'と' -1'を返す必要があります。私のテストでは、 '>'シンボルの解析に問題はありませんでした。 –

答えて

3

あなたはこのようWHERE声明でこれを配置する必要があります。

SELECT * FROM TableName WHERE ABS(DateDiff('d', EndDate1, EndDate2)) > 7 
+3

これは+7の差異を持つ日付のみを返します。 'Abs'に' DateDiff'をラップすると、マイナスの違いが返されます。 –

+0

@ DarrenBartrup-Cookああ、ハハ。ありがとう、忘れました。 –

+0

それは働いた!ありがとうございました! – Havoux

3

あなたが実際SELECTで結果を選択するための条件付きロジックを置くしようとしているあなたの意図がある場合しかし、それは実際にWHERE(に属し

SELECT iif(
      ABS(DateDiff('d', EndDate1, EndDate2)) > 7, 
      'out of bounds', 
      'in bounds' 
     ) AS DateRangeStatus 
:あなたが/日付の境界のうち、おそらくされたレコードを特定したい場合は、今すぐ)

をレコードをフィルタリングするために、あなたは常に何かのように行うことができます

これは必ずしもあなたの質問に答えるわけではありませんが、何が起こっているのかを説明することは傷つきません。

+0

ああ私は、情報をありがとう! – Havoux

関連する問題