涉及到Unicode字符编码的问题。
DATALENGTH(expression)
返回用于表示任何表达式的字节数。
例如:select datalength('我们')
结果:4
LEN(string_expression )
返回给定字符串表达式的字符数(不包括尾随空格),而不是返回字节数。
例如:select len('我们')
结果:2
declare @a char(4000)
set @a = REPLICATE('a',4000)
select LEN(@a) --4000
select DATALENGTH(@a) --4000
declare @b nchar(4000)
set @b = REPLICATE('b',4000)
select LEN(@b) --4000
select DATALENGTH(@b) -8000
转载于:https://www.cnblogs.com/dafanchen/archive/2012/10/10/2718548.html