涉及到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