長度

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