码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2016-09-11 22:47:03      阅读:207      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!