値の不一致について2つのテーブル間で比較が行われる単純なSQLクエリがあります。昨日、1 つのフィールドが null で、もう 1 つのフィールドが null でないという問題を発見しましたが、不一致は検出されませんでした。私が判断できる限り、ロジックは昨日までずっと機能していました。SQL のロジックは次のとおりです。
CREATE TABLE Table1
(UserID INT,PlayDate DATETIME)
CREATE TABLE Table2
(UserID INT,PlayDate DATETIME)
INSERT INTO Table1 (UserID)
SELECT 5346
INSERT INTO Table2 (UserID,PlayDate)
SELECT 5346,'2012-11-01'
SELECT a.UserID
FROM Table1 a
INNER JOIN
Table2 b
ON a.UserID = b.UserID
WHERE a.PlayDate <> b.PlayDate
PlayDate の値が異なっていても、値は返されません。
読む場所を更新しました:
WHERE ISNULL(a.PlayDate,'') <> ISNULL(b.PlayDate,'')
元のコードがフィールドの違いを認識しなくなるように誰かが変更した可能性のある SQL の設定はありますか?
ありがとう