作者:承诺盛金_999 | 来源:互联网 | 2018-04-18 19:01
mysql获取字符串长度,我们可以使用char_lengthlengthbit_length这三个函数,但这三个函数用法有所不同,本文章向码农介绍mysqlchar_lengthlengthbit_length的区别,需要的朋友可以参考一下。
分两种情况:
1. GBK 编码下
--无论中文字符还是西文字符,都是等同对待,所以总字符数2
select char_length('中国');
-- 1个中文字符占2个字节,所以总字节长度4
select length('中国');
-- 1个英文字符占1个字节,所以总字节长度5
select length('china');
-- 1个中文字符占2个字节,1个字节占8位,所以总bit比特长度32
select bit_length('中国');
2. UTF-8 编码下
--无论中文字符还是西文字符,都是等同对待,所以总字符数2
select char_length('中国');
-- 1个中文字符占3个字节,所以总字节长度6
select length('中国');
-- 1个英文字符占1个字节,所以总字节长度5
select length('china');
-- 1个中文字符占3个字节,1个字节占8位,所以总bit比特长度48
select bit_length('中国');
相关阅读:
mysql length(获取字符串长度)函数实例分析
mysql char_length()获取字符串长度
mysql BIT_LENGTH()获取字符串的比特长度