不能比较或排序 text、ntext 和 image 数据类型,除非使用 IS NULL 或 LIKE 运算符。

来源:互联网 发布:如何查看 snmp 端口 编辑:程序博客网 时间:2024/05/24 02:47

我想把产品介绍为空的数据查出来,可出现“不能比较或排序 text、ntext 和 image 数据类型,除非使用 IS NULL 或 LIKE 运算符。”这样的错误。用is null 和like 都不行,郁闷。没法只有在google狂搜,终于找到了答案。

解决办法:

回任何表达式所占用的字节数。

语法

DATALENGTH ( expression )

参数

expression

任何类型的表达式。

返回类型

int

注释

DATALENGTHvarcharvarbinarytextimagenvarchar ntext 数据类型特别有用,因为这些数据类型可以存储可变长度数据。

NULL 的 DATALENGTH 的结果是 NULL。

说明  兼容级别可能影响返回值。有关兼容级别的更多信息,请参见 sp_dbcmptlevel。

 

示例

此示例查找 publishers 表中 pub_name 列的长度。

USE pubsGOSELECT length = DATALENGTH(pub_name), pub_nameFROM publishersORDER BY pub_nameGO

下面是结果集:

length      pub_name                                 ----------- ---------------------------------------- 20          Algodata Infosystems                     16          Binnet & Hardley                         21          Five Lakes Publishing                    5           GGG&G                                    18          Lucerne Publishing                       14          New Moon Books                           17          Ramona Publishers                        14          Scootney Books                           (8 row(s) affected)
有了这样问题就简单了哈 select pro_id,pro_mark from product where datalength(Pro_Mark)=0 
搞定。