欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

[mysql] 字符集跟排序方式

更新时间: 2014-01-05 02:09:11 责任编辑: Author_N1

 

[MySQL] 字符集和排序方式

字符串类型

MySQL的字符串分为两大类:

1)二进制字符串:即一串字节序列,对字节的解释不涉及字符集,因此它没有字符集和排序方式的概念

2)非二进制字符串:由字符构成的序列,字符集用来解释字符串的内容,排序方式决定字符的大小


字符集和排序方式

字符集和排序方式的关系是这样的:一个字符集可以有一个或多个排序方式,有一个默认的排序方式,我们可以通过以下例子说明:

mysql> show character set like '%gbk%';
+---------+------------------------+-------------------+--------+
| Charset | Description            | Default collation | Maxlen |
+---------+------------------------+-------------------+--------+
| gbk     | GBK Simplified Chinese | gbk_chinese_ci    |      2 | 
+---------+------------------------+-------------------+--------+
1 row in set (0.00 sec)

mysql> show collation like '%gbk%';
+----------------+---------+----+---------+----------+---------+
| Collation      | Charset | Id | Default | Compiled | Sortlen |
+----------------+---------+----+---------+----------+---------+
| gbk_chinese_ci | gbk     | 28 | Yes     | Yes      |       1 | 
| gbk_bin        | gbk     | 87 |         | Yes      |       1 | 
+----------------+---------+----+---------+----------+---------+
2 rows in set (0.00 sec)
从上例中我们可以看出字符集gbk有两个排序方式(分别为gbk_chinese_ci何gbk_bin),其中默认的排序方式为gbk_chinese_ci。

排序方式的命名规则为:字符集名字_语言_后缀,其中各个典型后缀的含义如下:

1)_ci:不区分大小写的排序方式

2)_cs:区分大小写的排序方式

3)_bin:二进制排序方式,大小比较将根据字符编码,不涉及人类语言,因此_bin的排序方式不包含人类语言

因此,gbk_chinese_ci排序方式就表示:字符集为gbk,人类语言使用中文来比较大小,比较时区分大小写。


常用函数

字符集引导

字符集引导可以让MySQL指定一种字符集来解释字符常量,其语法为:

_charset str

如:

_utf8 'ABCD'   表示以utf8字符集来介绍字符串常量'ABCD'

字符集转换

convert()函数可以把一个字符串转换成指定字符集,其语法为:

convert(str using charset)

如 convert('ABCD' using utf8)  表示把'ABCD'的字符集转换成uft8

length()函数  --返回字节的长度

char_length()  --返回字符长度


与字符集有关的系统变量

上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:09:11
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/6273/
本文WWW.DOC100.NET DOC100.NET版权所有。