700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > mysql中:获取字符串长度length函数和char_length函数的区别

mysql中:获取字符串长度length函数和char_length函数的区别

时间:2019-11-25 00:30:22

相关推荐

mysql中:获取字符串长度length函数和char_length函数的区别

先上结论:

length函数:

计算值的长度-但1个中文会算作长度3,1个数字或者字母-算作长度1;

char_length函数:

计算值的长度-但1个中文或者1个数字或者字母-都算作长度1;

sql结果:

所以:

在统计无中文值的字段值长度时:

length函数和char_length函数效果一样;

有中文值时:

最好使用char_length函数,免得出现误差;

对了还有个用处:

通过length()<>char_length()可以用来检验是否含有中文字符

疑问:为什么length一个中文算作长度3?

查了些资料,发现大家都是只说了结论.但未提及原因;

正好最近也看些字符编码的东西;

所以大胆猜测:

length在统计长度时统计的是字符编码的字节长度;

而char_length函数则是直接统计的字符长度;

而造成大家结果的一致性的原因就是大家使用的都是utf-8编码;

所以:得到的结果就是都是一个中文3个长度;

附:编码的文章链接:

/weixin_44903702/article/details/110287013.

个人猜测未证实,查源码也没找到… ̄▽ ̄

有大佬知道的,还请指点指点小弟;

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。