标签归档:datalength

mssql sqlserver sql关键字len和datalength区别简介说明


摘要:
下文讲述sqlserver中关键字len和datalength的区别,如下所示:
实验环境:sql server 2008 R2



len和datalength关键字的区别主要在于两个关键字的实际用途不一样


len关键字简介

len关键字功能:
返回表达式中的字符串个数(字符串后的空格不作为字符串个数返回)
len 关键字的返回值为一个int数值的数据
len 关键字用法举例:

    declare @t varchar(300)
    set @t ='maomao365.com';
    select len(@t)
   


len关键字注意事项:
1.当数据类型为varchar(max)、nvarchar(max) 或 varbinary(max)时,则返回一个bigint数值
其它字符串类型则返回int型
2.此关键字不能获取text、ntext类型中字符串的长度
3.此关键字获取字符串中的字符个数时,将自动剔除字符串末尾的空格个数



datalength关键字简介

datalength关键字功能:
返回所有表达式在数据库中所占用的字节数
datalength关键字返回值类型说明:
将返回一个int型的数据

    declare @t varchar(300)
     set @t ='maomao365.com';
     select datalength(@t)


datalength关键字注意事项:
对于可变长的数据类型,每次获取datalength的长度可能发生变化。

通过以上的学习,我们可以看出len的返回值和datalength的返回值含义完全不一致,
1.len关键字遇到汉字时,则返回1,但是datalength返回2
2.len关键字遇到char一些定长数据类型时,会自动剔除末尾的空格,返回实际的字符个数
datalength关键字则返回char数据类型实际占用的字节数