首页 > 其他 > 详细

字符串的长度,是字符数量,还是字节数量?

时间:2016-09-11 22:45:40      阅读:144      评论:0      收藏:0      [点我收藏+]

当计算字符串的长度时,大多数人脑海中闪现的第一个函数是: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)

字符串的长度,是字符数量,还是字节数量?

原文:http://www.cnblogs.com/ljhdo/p/4546081.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!