首页 > 代码库 > 字符串的长度,是字符数量,还是字节数量?
字符串的长度,是字符数量,还是字节数量?
当计算字符串的长度时,大多数人脑海中闪现的第一个函数是:Len(),该函数返回的字符的数量(number of characters),不包含结尾空格,但是包含前导空格。
示例,Len 函数返回的是字符的数量,而不是字符的字节数量。
declare @str_v varchar(10)declare @str_nv nvarchar(10)set @str_v=‘ ab ‘set @str_nv=N‘ ab ‘select len(@str_v) as len_v,len(@str_nv) as len_nv
如果要计算字符串占用的字节数量(number of bytes),请使用DataLength()函数。
示例,每个unicode字符占2B,ASCII 字符占1B。
declare @str_v varchar(10)declare @str_nv nvarchar(10)set @str_v=‘ ab ‘set @str_nv=N‘ ab ‘select datalength(@str_v) as len_v,datalength(@str_nv) as len_nv
参考doc:
LEN (Transact-SQL)
DATALENGTH (Transact-SQL)
字符串的长度,是字符数量,还是字节数量?
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。