Проверьте, является ли поле SQL Server 2005 XML пустым - PullRequest
8 голосов
/ 25 июня 2010

Я только что сделал это:

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 есть пустые записи, что означает отсутствие символов.

Кто-нибудь знает?

1 Ответ

12 голосов
/ 25 июня 2010

Попробуйте это:

 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

Показывает ли это строки, которые вас интересуют?

...