我想仅在当前dateTime1列不等于表中现有的dateTime1列时才将数据插入表中。我尝试运行下面的查询,但是当表中的mydate1为null时,它不会返回有效结果。
INSERT INTO TableA (id, dateTime1, datetime2)
SELECT 123, mydate1, mydate2
WHERE NOT EXISTS (SELECT 1 FROM tableA
WHERE id=123 and dateTime1 <> mydate1)
基本上我只想在日期列不等于我们尝试插入的当前日期列时才将数据插入表中。
答案 0 :(得分:1)
使用COALESCE
来避免NULL
s。
因此,如果您要比较日期,请使用
等结构<> COALESCE ( mydate1, someotherdate )
其中someotherdate
是任何始终使条件为假的日期(如果您需要这样,则为真)。