我刚刚做了这个:
Delete FROM MyTable WHERE ScopeValue = ""
Delete FROM G_Scope WHERE ScopeValue is ''
Delete FROM G_Scope WHERE ScopeValue = empty
Delete FROM G_Scope WHERE ScopeValue is empty
我想删除所有具有 xml 字段(不可为空)的行,其中 ScopeValue 列具有空条目意味着零个字符。
有人知道吗?
试试这个:
DELETE FROM dbo.G_Scope WHERE ScopeValue IS NULL
如果不包含值,则 SQL Server 列将为
NULL
。
另一种可能性是 XML 不为 NULL,但包含空字符串作为其值。为此,请使用以下命令:
-- The DATALENGTH of an empty XML column is 5
SELECT * FROM dbo.G_Scope WHERE DATALENGTH(ScopeValue) = 5
这是否显示了您感兴趣的行?
选择* 来自我的表 WHERE MyXmlColumn.exist('/node()') = 1;