我刚刚这样做了:
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
这是否显示了您感兴趣的行?
关于sql-server - 检查 SQL Server 2005 XML 字段是否为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3117702/