我使用的是SQL Server 2005。我有一个带有文本列的表,在表中有许多行,其中该列的值不是空的,但它是空的。试着对比”会得到这样的回答:

数据类型text和varchar在不等于操作符中是不兼容的。

是否有一个特殊的函数来确定文本列的值是否为空而不是空?


当前回答

DECLARE @temp as nvarchar(20)

SET @temp = NULL
--SET @temp = ''
--SET @temp = 'Test'

SELECT IIF(ISNULL(@temp,'')='','[Empty]',@temp)

其他回答

我将测试SUBSTRING(textColumn, 0,1)

where datalength(mytextfield)=0

试试这个:

select * from mytable where convert(varchar, mycolumn) = ''

希望能帮到你!

实际上,你只需要使用LIKE操作符。

SELECT * FROM mytable WHERE mytextfield LIKE ''

使用DATALENGTH方法,例如:

SELECT length = DATALENGTH(myField)
FROM myTABLE