今天在sql语句中判断一个text类型的字段的长度,如果超过500个字符就显示出来,不超过就不显示,按照以前的习惯,就直接使用len,结果不行。原来len不支持text类型的字段,不能使用这个。然后在网络上找了一下,使用datalength可以。
select * from table where datalength(content)>500
这样就可以了
datalength的使用方法是:
DATALENGTH
返回任何表达式所占用的字节数。
语法
DATALENGTH ( expression )
参数
expression
任何类型的表达式。
返回类型
int
注释
DATALENGTH 对 varchar、varbinary、text、image、nvarchar 和 ntext 数据类型特别有用,因为这些数据类型可以存储可变长度数据。
NULL 的 DATALENGTH 的结果是 NULL。
说明 兼容级别可能影响返回值。有关兼容级别的更多信息,请参见 sp_dbcmptlevel。
示例
此示例查找pubs表中 pub_name 列的长度。
USE pubsGO
SELECT length = DATALENGTH(pub_name), pub_nameFROM publishersORDER BY pub_name
GO
下面是结果集:
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
前面的数字就是pub_name的长度。并且datalength对varchar、varbinary、text、image、nvarchar 和 ntext 这些字段都起作用,比len方便多了。