DATALENGTH
返回bytes used
LEN
回報characters used
數數只是比較這些結果
DECLARE @VARCHAR VARCHAR(40) = 'RACING CLUB DE AVELLANEDA'
SELECT DATALENGTH(@VARCHAR) AS Bytes, LEN(@VARCHAR) AS Characters;
Bytes: 25 ==> As it is a variable length, returns 25
Characters: 25
DECLARE @VARCHAR CHAR(40) = 'RACING CLUB DE AVELLANEDA'
SELECT DATALENGTH(@VARCHAR) AS Bytes, LEN(@VARCHAR) AS Characters;
Bytes: 40 ==> As it is a fixed length, returns 40
Characters: 25
DECLARE @VARCHAR NVARCHAR(40) = 'RACING CLUB DE AVELLANEDA'
SELECT DATALENGTH(@VARCHAR) AS Bytes, LEN(@VARCHAR) AS Characters;
Bytes: 50 ==> As it is a variable length, returns 25*2 = 50
Characters: 25
DECLARE @VARCHAR NCHAR(40) = 'RACING CLUB DE AVELLANEDA'
SELECT DATALENGTH(@VARCHAR) AS Bytes, LEN(@VARCHAR) AS Characters;
Bytes: 80 ==> As it is a fixed length, returns 40*2 = 80
Characters: 25
你也可以輕鬆地添加+2
您DATALENGTH
爲VARCHAR
數據類型
DECLARE @VARCHAR VARCHAR(40) = 'RACING CLUB DE AVELLANEDA'
SELECT DATALENGTH(@VARCHAR) AS Bytes
,LEN(@VARCHAR) AS Characters
,DATALENGTH(@VARCHAR) + 2 AS ActualUsedBytes
輸出
Bytes Characters ActualUsedBytes
25 25 27
我明白了。有沒有函數或sp來獲取它需要的存儲字節數? –
'DATALENGTH(@VARCHAR)+ 2' :) –