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

时间: 2024-07-28 21:51:14

MySQL的结果字符串的相关文章

请教mysql存储过程分割字符串做关联

问题描述 请教mysql存储过程分割字符串做关联 假如有两个表表一:id pid1 pid1pid22 pid2pid5pid63 pid34 pid4pid1...... 表二:pid pnamepid1 aaa pid2 bbbpid3 cccpid4 dddpid5 eeepid6 ggg...... 假如我想要通过存储过程计算表1中包含pname=ddd的记录的行数,按这样的表结构,请教是否可以实现?怎么实现呢? 解决方案 把你第一个表拆成以下形式.1 pid12 pid22 pid22

mysql中为什么 字符串a1 满足 regepx ‘[1-9]’

问题描述 mysql中为什么 字符串a1 满足 regepx '[1-9]' mysql中为什么 字符串a1 满足 regepx '[1-9]',谢谢! 解决方案 因为你没有加^$,想确切的验证1-9哪的这么写'^[1-9]$'

mysql CONCAT() 连接字符串详细说明

mysql教程 concat() 连接字符串详细说明 在有些情况下你想两个或多个字符串,在mysql中有个字符串连接函数concat(),下面我们就讲讲它的使用方法吧. concat语法 concat(str1,str2,...) 简单实例两个字符串连接 select concat('hello ','world!'); 当然你也可以使用表中的字段而不是字符串常量,你可以混合使用它们.让我们看看稍微复杂的例子.假设我们有一个用户表中的姓名和年龄,现在要连接在一起,我们就可以使用select st

Mysql 自定义随机字符串的实现方法_Mysql

前几天在开发一个系统,需要用到随机字符串,但是mysql的库函数有没有直接提供,就简单的利用现有的函数东拼西凑出随机字符串来.下面简单的说下实现当时. 1.简单粗暴. select ..., substring(MD5(RAND()),floor(RAND()*26)+1,6) as rand_str ..... 上诉示例产生的是:6位长度的随机字符串. 函数解释: rand() :产生 0-1之间的小数,简称种子.rand()*25 产生的数 在 0- 25 之间,不包括25 floor(va

MySQL中的字符串比较函数

根据,MySQL 会自动将数字转化为字符串,反之亦然. mysql> SELECT 1+'1'; -> 2 mysql> SELECT CONCAT(2,' test'); -> '2 test' 若想要将数字明确地转化为字符串,可使用 CAST()或 CONCAT()函数: mysql> SELECT 38.8, CAST(38.8 AS CHAR); -> 38.8, '38.8' mysql> SELECT 38.8, CONCAT(38.8); ->

【Mysql 学习】字符串

字符串 mysql> SELECT "hello", "'hello'", "''hello''", "hel""lo", "\"hello"; +-------+---------+-----------+--------+--------+ | hello | 'hello' | ''hello'' | hel"lo | "hello | +---

MySQL笔记之字符串函数的应用_Mysql

字符串操作在程序设计中是非常重要的组成部分,而MySQL数据库中的字符串操作却相当简单 需要注意的是:下面所有的函数只是将修改后的结果当查询返回,均不对原数据做出改变 选出指定数量字符 复制代码 代码如下: mysql> SELECT RIGHT('nihao',3);+------------------+| RIGHT('nihao',3) |+------------------+| hao              |+------------------+ row in set (0.

mysql截取的字符串函数substring_index的用法_Mysql

截取的字符串为15,151,152,16',可以看作是ip吧(虽然这里指的不是iP), 然后要截取每个逗号之前那部分 以下的意思是:在字符串中以逗号为索引,获取不同索引位的字符 结果如下: SELECT SUBSTRING_INDEX('15,151,152,16',',',1); ==>得到结果为: 15 SELECT SUBSTRING_INDEX(SUBSTRING_INDEX('15,151,152,16',',',2),',',-1);==>得到结果为: 151 SELECT SUB

mysql常用日期 字符串处理函数命令

函数如下: left,right  字符串截取 from_unixtime  格式化unix时间戳 concat  字符串连接函数 max  取某列最大值 min 取某列最小值 sum 计算某列的和 count 统计条数 md5 返回md5加密码的串 format 格式化数字为xx,xxx,xxx.xxxx格式 比如1,1000.123 length   计算某个字符串长度 distinct  去重复 replace  替换字符串 in 指定查询某个值的记录 like  模糊查询 is null