如何检查SQL Server文本列是否为空?
时间:2020-03-05 18:44:41 来源:igfitidea点击:
我正在使用SQL Server2005. 我有一个带有文本列的表,并且该表中有很多行,其中该列的值不为null,但为空。尝试与""进行比较,会产生以下响应:
The data types text and varchar are incompatible in the not equal to operator.
是否有一个特殊功能来确定文本列的值是否不是null而是空的?
解决方案
回答
我将针对SUBSTRING(textColumn,0,1)进行测试
回答
where datalength(mytextfield)=0
回答
实际上,我们只需要使用LIKE运算符即可。
SELECT * FROM mytable WHERE mytextfield LIKE ''
回答
null和空字符串等效吗?如果是的话,我将在应用程序中包含逻辑(如果应用程序是"开箱即用",则可能包含触发器?)来强制字段为null或者",而不是其他字段。如果使用'',则也可以将列设置为NOT NULL。只是数据清洁的事情。
回答
ISNULL( case textcolum1 WHEN '' THEN NULL ELSE textcolum1 END ,textcolum2) textcolum1