发布网友
共5个回答
热心网友
1、首先指出一点,是【datalength】不是【datelength】
2、这两个函数的区别类似于oracle数据库中的【lengthb】何【length】,虽然返回的都是一个长度值,可是意义不一样,如:
select datalength('张三'); --返回【4】,因为一个汉字占两个字节
select len('张三'); --返回【2】,把一个汉字当做一个字符
select datalength('AB'); --返回【2】,因为一个英文占一个个字字节
select len('AB'); --返回【2】,把一个汉字当做一个字符
3、扩展:oracle中的 【lengthb】何【length】也是这个效果
4、由上面所说,这两个函数的区别主要是:
datalength:返回字节长度。
length:返回字符长度。
---
以上,希望对你有所帮助。
热心网友
1. DATALENGTH
可以是任何类型的表达式。
(DATALENGTH 对 varchar、varbinary、text、image、nvarchar 和 ntext 数据类型特别有用,因为这些数据类型可以存储可变长度数据。)
2. len只能计算字符串。
热心网友
len() 和 datalength() 的区别
len()返回字符数;datalength()返回字节数
declare @v_char varchar(200), @v_int int
select @v_char = 'i am xlong! ', @v_int = 1234567
select len(@v_char) , datalength(@v_char) , len(@v_int), datalength(@v_int)
----------- ----------- ----------- -----------
11 14 9 4
(1 行受影响)
热心网友
datalength:返回字节长度。
length:返回字符长度。
热心网友
DATALENGTH ( expression ) 可以是任何类型的表达式。
返回类型是int类型,而LEN()只能针对字符串,返回的类型也是INT型的