长度

SQL Server

LEN 不计算尾随空格。

SELECT LEN('Hello') -- returns 5

SELECT LEN('Hello '); -- returns 5

DATALENGTH 计算尾随空格。

SELECT DATALENGTH('Hello') -- returns 5

SELECT DATALENGTH('Hello '); -- returns 6

但应注意,DATALENGTH 返回字符串的基础字节表示的长度,这取决于用于存储字符串的字符集。

DECLARE @str varchar(100) = 'Hello ' --varchar is usually an ASCII string, occupying 1 byte per char
SELECT DATALENGTH(@str) -- returns 6

DECLARE @nstr nvarchar(100) = 'Hello ' --nvarchar is a unicode string, occupying 2 bytes per char
SELECT DATALENGTH(@nstr) -- returns 12

Length()

语法:Length(char)

例子:

SELECT Length('Bible') FROM dual; --Returns 5
SELECT Length('righteousness') FROM dual; --Returns 13
SELECT Length(NULL) FROM dual; --Returns NULL

另请参见:LengthB,LengthC,Length2,Length4