今天有人问了"字段content为text类型,要返回content的值为不为空白且包含NULL"
给出的解决方法
(1) select * from test datalength(content)<>0 or content is null
(2)select * from test datalength(content)<>0 or datalength(content) is null
(3)select * from test cast(content as nvarchar) <> '' or content is null
当数据量很大时,第一种方法的性能更优.
1.对于2005中的text数据类型.比较问题,
select * from test cast(content as nvarchar) ='tt'
说明其中test1字段为text类型.如果直接用它与字符型进行比较"数据类型 text 和 nvarchar 在 equal to 运
算符中不兼容",这就可以把text类型转为nvarchar就可以进行比较.
2.datalength(test)当test为NULL时返回的是NULL(说明对于其他数据类型为NULL时也会返回NULL).