当前位置: 首页 > 图文教程 > 数据库 > MYSQL > 教你轻松了解MySQL数据库中的结果字符串

MYSQL
轻松接触MaxDB和MySQL之间的协同性
快速解决 MySQL中与浮点比较有关的问题
细化解析:Mysql数据库对文件操作的封装
在MySQL数据库中如何修改密码及访问限制
带你深入了解MySQL语句优化的基本原则
详细讲解如何为MySQL数据库添加新函数
如何解决MySQL的客户端不支持鉴定协议
教你快速掌握更改表中列顺序的好方法
解决MySQL 5.0不能使用自动增加字段问题
讲解MySQL数据库字符集出错的解决方法
如何实现My SQL中的用户的管理问题
教你快速掌握 MySQL数据库中触发器的应用
将数据从MySQL迁移到 Oracle的注意事项
正确认识MySQL对服务器端光标的限制
MySQL的存储过程写法和"Cursor"的使用
怎样才能解决MySQL 5.0.16的乱码问题
MySQL存储过程SAVEPOINT ROLLBACK to
提高MySQL数据库查询效率的三个实用技巧
在MySQL数据库中如何来复位根用户的密码
带你轻松接触MaxDB和MySQL之间的协同性

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 60 ::
收藏到网摘: n/a

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()函数。