10bet网址
MySQL 5.7参考手册
相关文件10bet官方网站 本手册下载
PDF (Ltr)- 36.3 mb
PDF (A4)- 36.4MB.
PDF (RPM)- 35.6MB.
HTML下载(TGZ)- 9.4 mb
HTML下载(邮政编码)- 9.4 mb
HTML下载(RPM)- 8.1 mb
手册页(TGZ)- 235.4KB.
男人页(zip)- 347.0KB.
信息(GZIP)- 3.3 mb
信息(zip)- 3.3 mb
从本手册中摘录

12.8.3字符集和功能结果排列

MySQL有许多返回字符串的操作符和函数。本节回答以下问题:这样一个字符串的字符集和排序规则是什么?

对于拍摄字符串输入并将字符串结果返回为输出的简单功能,输出的字符集和排序规则与主输入值的相同。例如,上(X)返回具有相同字符串和排序规则的字符串X。这同样适用于instr(),LCASE (),降低(),LTRIM(),中(),重复(),替换(),反向(),正确的(),RPAD(),空白(),探测法(),SUBSTRING (),修剪(),UCASE (), 和上()

请注意

替换()函数与所有其他函数不同,它总是忽略字符串输入的排序,并执行区分大小写的比较。

如果字符串输入或函数结果是二进制字符串,则该字符串具有二进制字符集和排序。可以使用charset()整理()函数,两者都返回二进制对于二进制字符串参数:

mysql> SELECT CHARSET(BINARY 'a'), COLLATION(BINARY 'a');+---------------------+-----------------------+ | 字符集(二进制a) |排序(二进制的 ') | +---------------------+-----------------------+ | 二进制|二进制  | +---------------------+-----------------------+

对于组合多个字符串输入并返回单个字符串输出的操作,聚合规则的标准SQL应用于确定结果的排序:

  • 如果一个显式的整理Y时,使用Y

  • 如果显式整理Y整理Z发生,引发错误。

  • 否则,如果所有排序规则都是Y, 用Y

  • 否则,结果没有排序。

例如,案例...当A当B然后C Collat​​e时X结束,所得到的整理是X。这同样适用于联盟,||,CONCAT (),elt(),最大的(),如果(), 和至少()

对于转换为字符数据的操作,由操作中导致的字符串的字符集和排序规定由character_set_connectioncollation_connection确定默认连接字符集和排序规则的系统变量(参见第10.4节“连接字符集和校集”)。这只适用于把(),CONV(),格式(),十六进制(), 和空间()

从MySQL 5.7.19开始,对于虚拟生成列的表达式来说,上述原则出现了一个例外。在这样的表达式中,表字符集用于CONV()或者十六进制()结果,无论连接字符集。

如果对字符串函数返回的结果的字符集或排序有任何疑问,请使用charset()或者整理()函数找出:

mysql> SELECT USER(), CHARSET(USER()), COLLATION(USER());+----------------+-----------------+-------------------+ | 用户()|字符集(用户())|排序(用户 ()) | +----------------+-----------------+-------------------+ | test@localhost | utf8 | utf8_general_ci  | +----------------+-----------------+-------------------+ mysql >选择字符集(压缩(abc)),排序(压缩(' abc '));+--------------------------+----------------------------+ | 字符集(压缩(abc)) |排序(压缩(abc ')) | +--------------------------+----------------------------+ | 二进制|二进制  | +--------------------------+----------------------------+