mysql char_length length bit_length区别实例分析

时间:2016-05-27
mysql获取字符串长度,我们可以使用char_length length bit_length这三个函数,但这三个函数用法有所不同,本文章向码农介绍mysql char_length length bit_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()获取字符串的比特长度