0x00 概要

LEN
返回给定字符串表达式的字符(而不是字节)个数,其中不包含尾随空格。

DATALENGTH
返回任何表达式所占用的字节数

区别
Len 只返回字符数,一个汉字代表一个字符。
Datalength 返回的是字节数,一个汉字两个字节。

Len不包含空格在内长度,而datalength 包含空格。

0x01 LEN

语句 结果
select LEN(‘ ‘); (3个空格) 0
select LEN(‘abc ‘); (c 的后面三个空格) 3
select LEN(‘ abc’); (a 的前面一个空格) 4
select LEN(‘ab c’); (b 的后面一个空格) 4
select LEN(‘中国a汉字’); 5

0x02 Datalength

语句 结果
select Datalength(‘ ‘); (3个空格) 3
select Datalength(‘abc ‘); (c 的后面三个空格) 6
select Datalength(‘ abc’); (a 的前面一个空格) 4
select Datalength(‘ab c’); (b 的后面一个空格) 4
select Datalength(‘中国a汉字’); 9
select Datalength(‘中国a汉字 ‘); (字 的后面三个空格) 12
select Datalength(‘ 中国a汉字’); (中 的前面三个空格) 12