は、SQL Server 2008のため、サポートDATEDIFF
functionを使用してください:あなたのクエリを作る
DATEDIFF (datepart , startdate , enddate)
:
SELECT * FROM A
INNER JOIN B
ON A.ID = B.ID
WHERE DATEDIFF(second, A.insertdate, B.insertdate) < 60
second
引数は、2つの日付の差を秒単位で計算します。 DATEDIFF(...) < 60
のチェック与え、3次のシナリオのいずれかが存在することができる。
DATEDIFF
機能は負:この:これはA.insertdate
未満B.insertdate
DATEDIFF
関数がゼロであることを意味しますA.insertdate
がB.insertdate
と等しいことを意味する。DATEDIFF
は、1-60の間であることを意味する。A.insertdate
効果的B.insertdate
より大きく60秒件までで、次のような特定のニーズに基づいてDATEDIFF
機能に対するチェックを変更することができます:DATEDIFF(...)
はA.insertdate
が60秒前件までであることを保証-60の間および0であることを確認B.insertdate
よりも大きくはありません。
注:以前のバージョンの質問の結合条件はA.insertdate = B.insertdate
で、結果としてDATEDIFF
という式がDATEDIFF(second, A.insertdate, B.insertdate) BETWEEN -60 AND 60
となっています。
私はこれが私の答えよりも好きです。 –
ありがとうございます。 where節で同じ条件をチェックすることは可能ですか? 例: Select * from A 内部結合B ここで、A.Inserdate> B.insertdate –
@Ask_SO - 質問の修正クエリに基づいて答えを更新しました。これはWHERE A.insertdate
Phylyp