轻松了解MySQL数据库中的结果字符串

发表于:2007-10-09 13:48

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:limeinan    来源:网络转载

[摘要]MySQL中有许多操作符和函数可以返回字符串。本节回答这个问题:返回的字符串使用什么字符集和校对规则?
[关键字]MySQL数据库字符串

        MySQL中有许多操作符和函数可以返回字符串。本节回答这个问题:返回的字符串使用什么字符集和校对规则?

  对于简单的函数,即接收字符串输入然后返回一个字符串结果作为输出的函数,输出的字符集和校对规则与原始输入的相同。例如,UPPER(X)返回一个字符串,其字符和 校对规则与X相同。类似的函数还有INSTR()、LCASE()、LOWER()、LTRIM()、MID()、REPEAT()、REPLACE()、REVERSE()、RIGHT()、RPAD()、RTRIM()、SOUNDEX()、SUBSTRING()、TRIM()、UCASE()和UPPER()。(还需要注意:REPLACE()函数不同于其它函数,它总是忽略输入字符串的 校对规则,并且进行大小写不敏感的比较。)

  对于合并多个字符串输入并且返回单个字符串输出的运算,应用标准SQL“聚合规则”:

  · 如果存在显式的校对规则X,那么使用X。

  · 如果存在显式的校对规则X和Y,那么产生一个错误。

  · 否则,如果全部校对规则是X,那么使用X。

  · 其它情况,结果没有校对规则。

  例如,使用CASE ... WHEN a THEN b WHEN b THEN c COLLATE X END。结果校对规则是X。对于CASE、UNION、  、CONCAT()、ELT()、GREATEST()、IF()和LEAST()情况相同。

  对于转换为字符数据的运算,从运算得到的结果字符串的字符集和校对规则由character_set_connection和collation_connection系统变量定义。这适用于CAST()、CHAR()、CONV()、FORMAT()、HEX()和SPACE()函数。

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号