比较 where 子句中的 uniqueidentifier

Compare uniqueidentifier in where clause

我们有两个表:MainTableCloneOfMainTable

两个表的结构是:

ID : int Identity Primarykey
Foo: nvarchar(50) 
RowVersion : uniqueidentifier

我们想通过比较 RowVersion 和 bla bla 来简单地获取更新的行 ...

SELECT * 
FROM MainTable 
INNER JOIN CloneOfMainTable On MainTable.ID = CloneOfMainTable.ID
WHERE MainTable.RowVersion <> CloneOfMainTable.RowVersion

而且它不起作用^_^"

比较 uniqueidentifier 值没有任何限制。由于该列可以为空,您可以使用 coalesce 来包含 null 值进行比较:

WHERE coalesce(MainTable.RowVersion,'00000000-0000-0000-0000-000000000000') <> coalesce(CloneOfMainTable.RowVersion,'00000000-0000-0000-0000-000000000000')