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

LENGTH()与CHAR_LENGTH()区别

时间:2017-10-27 15:31:38      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:相关   工作   字节   资料   文章   总结   阿里巴巴   java开发手册   java   

在阅读《阿里巴巴java开发手册》中,看到如下说明:

 技术分享

 

有些不懂,就去查找了相关资料。

官网描述如下:

 技术分享

技术分享

 

总结一下就是说,无论是LENGTH()还是CHAR_LENGTH()都是为了统计字符串的长度。只不过,LENGTH()是按照字节来统计的,CHAR_LENGTH()是按照字符来统计的。例如:一个包含5个字符且每个字符占两个字节的字符串而言,LENGTH()返回长度10,CHAR_LENGTH()返回长度是5;如果对于单字节的字符,则两者返回结果相同。

那么,如何判断多字节字符是占两个字节,还是三个字节呢?继续查了点资料:

技术分享

 

原来这里的字节数和编码有关。

所以回过头来看文章开头所描述的问题:因为编码是UTF-8,所以一个中文占3个字节,所以LENGTH(“轻松工作”)值为12。

另外补充下,这里英文只占一个字节:

select length("China");

 技术分享

 

LENGTH()与CHAR_LENGTH()区别

标签:相关   工作   字节   资料   文章   总结   阿里巴巴   java开发手册   java   

原文地址:http://www.cnblogs.com/mucheng/p/7742691.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!