sql-server - 检查 SQL Server 2005 XML 字段是否为空

标签 sql-server xml-column is-empty

我刚刚这样做了:

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/

相关文章:

sql-server - SQL Server 2008 中 Oracle 的 LAST_DAY() 函数的等价物是什么?

asp.net - 关于按用户时区存储和显示日期和时间

sql-server - 根据属性值删除 SQL Server 表的 XML 列中的行

c++ - 有类似 is_empty_but_has_virtual_functions 的东西吗?

excel - SUMIFS(不为空,等条件)

php - 检查是否有任何数组值设置 PHP

sql-server - 有没有办法加入日历表以开始和结束另一个查询的日期?

sql-server - 在 SQL Server 中查找树的叶节点

sql - 使用 SQL 脚本重命名 XML 列 SQL Server 中的 XML 节点名称

sql-server - Sql Server XML 列替代 Document DB?