`

MySQL字符串连接函数

    博客分类:
  • DB
 
阅读更多

MySQL中 concat 函数
使用方法:
CONCAT(str1,str2,…)  

返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。

注意:
如果所有参数均为非二进制字符串,则结果为非二进制字符串。 
如果自变量中含有任一二进制字符串,则结果为一个二进制字符串。
一个数字参数被转化为与之相等的二进制字符串格式;若要避免这种情况,可使用显式类型 cast, 例如:
SELECT CONCAT(CAST(int_col AS CHAR), char_col)

MySQL的concat函数可以连接一个或者多个字符串,如
mysql> select concat('10');
+--------------+
| concat('10') |
+--------------+
| 10   |
+--------------+
1 row in set (0.00 sec)

mysql> select concat('11','22','33');
+------------------------+
| concat('11','22','33') |
+------------------------+
| 112233 |
+------------------------+
1 row in set (0.00 sec)

MySQL的concat函数在连接字符串的时候,只要其中一个是NULL,那么将返回NULL
mysql> select concat('11','22',null);
+------------------------+
| concat('11','22',null) |
+------------------------+
| NULL   |
+------------------------+
1 row in set (0.00 sec)

MySQL中 concat_ws 函数
使用方法: 
CONCAT_WS(separator,str1,str2,...)

CONCAT_WS() 代表 CONCAT With Separator ,是CONCAT()的特殊形式。第一个参数是其它参数的分隔符。分隔符的位置放在要连接的两个字符串之间。分隔符可以是一个字符串,也可以是其它参数。
注意:
如果分隔符为 NULL,则结果为 NULL。函数会忽略任何分隔符参数后的 NULL 值。

如连接后以逗号分隔 
mysql> select concat_ws(',','11','22','33');

+-------------------------------+
| concat_ws(',','11','22','33') |
+-------------------------------+
| 11,22,33 |
+-------------------------------+
1 row in set (0.00 sec)

和MySQL中concat函数不同的是, concat_ws函数在执行的时候,不会因为NULL值而返回NULL 
mysql> select concat_ws(',','11','22',NULL);
+-------------------------------+
| concat_ws(',','11','22',NULL) |
+-------------------------------+
| 11,22 |
+-------------------------------+
1 row in set (0.00 sec)

MySQL中 group_concat 函数
完整的语法如下:
group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符'])

基本查询

mysql> select * from aa;
+------+------+
| id| name |
+------+------+
|1 | 10|
|1 | 20|
|1 | 20|
|2 | 20|
|3 | 200   |
|3 | 500   |
+------+------+
6 rows in set (0.00 sec)

以id分组,把name字段的值打印在一行,逗号分隔(默认)

mysql> select id,group_concat(name) from aa group by id;
+------+--------------------+
| id| group_concat(name) |
+------+--------------------+
|1 | 10,20,20|
|2 | 20 |
|3 | 200,500|
+------+--------------------+
3 rows in set (0.00 sec)

以id分组,把name字段的值打印在一行,分号分隔

mysql> select id,group_concat(name separator ';') from aa group by id;
+------+----------------------------------+
| id| group_concat(name separator ';') |
+------+----------------------------------+
|1 | 10;20;20 |
|2 | 20|
|3 | 200;500   |
+------+----------------------------------+
3 rows in set (0.00 sec)

以id分组,把去冗余的name字段的值打印在一行,

逗号分隔

mysql> select id,group_concat(distinct name) from aa group by id;
+------+-----------------------------+
| id| group_concat(distinct name) |
+------+-----------------------------+
|1 | 10,20|
|2 | 20   |
|3 | 200,500 |
+------+-----------------------------+
3 rows in set (0.00 sec)

以id分组,把name字段的值打印在一行,逗号分隔,以name排倒序

mysql> select id,group_concat(name order by name desc) from aa group by id;
+------+---------------------------------------+
| id| group_concat(name order by name desc) |
+------+---------------------------------------+
|1 | 20,20,10   |
|2 | 20|
|3 | 500,200|
+------+---------------------------------------+
3 rows in set (0.00 sec)

 

repeat()函数

    用来复制字符串,如下'ab'表示要复制的字符串,2表示复制的份数

    mysql> select repeat('ab',2);

    +----------------+
| repeat('ab',2) |
+----------------+
| abab           |
+----------------+

   1 row in set (0.00 sec)

   又如
mysql> select repeat('a',2);

    +---------------+
| repeat('a',2) |
+---------------+
| aa            |
+---------------+
1 row in set (0.00 sec)

 


mysql向表中某字段后追加一段字符串:
update table_name set field=CONCAT(field,'',str)

mysql 向表中某字段前加字符串
update table_name set field=CONCAT('str',field)

本文来自http://hi.baidu.com/%CE%F7%BA%FE%B5%C0%B3%A4/blog/item/55b69cddf994de1862279844.html

分享到:
评论

相关推荐

    mysql字符串连接函数

    ### MySQL字符串连接函数详解 在处理数据库中的字符串操作时,MySQL提供了多种强大的工具来帮助我们进行数据处理。本文主要介绍几种常用的字符串连接函数,包括`CONCAT()`、`CONCAT_WS()`以及`GROUP_CONCAT()`函数...

    mysql字符串比较函数:concat和regexp.pdf

    mysql字符串比较函数:concat和regexp.pdf

    mysql拼接字符串函数

    MySQL 拼接字符串函数 MySQL 中有三个常用的字符串拼接函数:CONCAT、CONCAT_WS 和 GROUP_CONCAT。这些函数都可以用来将多个字符串连接起来,但是它们的使用场景和效果不同。 CONCAT 函数 CONCAT 函数的语法是 `...

    mysql常用字符串函数、字符串处理函数大全

    MySQL字符串函数是数据库操作中非常关键的一部分,它们用于处理和操作文本数据。以下是一些常见的MySQL字符串函数及其详细解释: 1. `ASCII(str)`:这个函数返回字符串`str`的第一个字符的ASCII码值。如果`str`为空...

    mysql 计算字符串相似度

    MySQL 提供了多种方法来实现字符串相似度的计算,其中一种较为常见的做法是通过自定义函数来实现。本文将详细介绍如何在 MySQL 中创建一个自定义函数 `sfn_GetSimilar_Rate` 来计算两个中文字符串的相似度,并基于此...

    Mysql字符串处理函数详细介绍、总结

    MySQL中的字符串处理函数是数据库操作中非常常用的一类函数,它们可以帮助我们对字符串进行各种操作,如拼接、截取、查找、转换等。以下是对这些函数的详细说明: 1. **ASCII(char)**:返回字符串中第一个字符的...

    MySql字符串相似匹配

    亲测可用,mysql字符串相似度匹配函数。下载后直接在mysql中可以测试运行。

    MySQL中字符串函数详细介绍

    符串或串(String)是由零个或多个字符组成的有限序列。一般记为 s=’a1a2•••an'... 下面我们来看看MySQL中的字符串函数 假如结果的长度大于 max_allowed_packet 系统变量的最大值时,字符串值函数的返回值为NULL。 对

    MySQL 字符串函数大全

    MySQL 字符串函数大全 对于针对字符串位置的操作,第一个位置被标记为1。 ASCII(str) 返回字符串str的最左面字符的ASCII代码值。如果str是空字符串,返回0。如果str是NULL,返回NULL。 mysql> select ASCII(‘2’); ...

    mysql分割字符串

    MySQL不提供内置的多分隔符字符串分割函数,但可以通过创建用户定义的函数(UDF)来实现。这通常涉及到C语言编程,将编译好的库文件导入到MySQL服务器。然而,对于简单的分割任务,可以考虑在应用程序层处理。 四、...

    mysql拼接字符串函数.docx

    MySQL 拼接字符串函数 MySQL 中提供了两个主要的拼接字符串函数:CONCAT 函数和 CONCAT_WS 函数。这两个函数可以帮助开发者方便地进行字符串的拼接操作。 CONCAT 函数 CONCAT 函数是 MySQL 中最基本的拼接字符串...

    mysql将字符串分割成多列值

    利用mysql中提供的所有函数,组成的一个存储过程。此存储过程主要是将传入的字符串分割为多个值,单个列。

    MySQL的字符串函数使用说明

    除了上述函数,MySQL还提供了许多其他字符串函数,例如CONCAT()用于连接字符串,LOWER()和UPPER()分别将字符串转为小写和大写,SUBSTRING()用于提取字符串的一部分,REPLACE()用于替换字符串中的子串,LEFT()和RIGHT...

    mysql的字符串函数

    MySQL 字符串函数 MySQL 中有多种字符串函数,可以用于字符串操作和处理。这些函数可以帮助用户更好地处理和分析字符串数据。 1. ASCII(str) 函数 ASCII(str) 函数返回字符串 str 的最左面字符的 ASCII 代码值。...

    MySql常用字符串函数

    MySQL中的字符串函数是数据库操作中不可或缺的一部分,它们用于处理和操作文本数据。下面将详细介绍这些常用的字符串函数: 1. **CONCAT(str1, str2,...)**:此函数用于连接两个或多个字符串,形成一个新字符串。...

    MySql函数-取一个字符串分隔后指定位置的子字符串

    一、函数功能:对字符串进行分隔数组,取指定顺序位置的子字符串,支持左右双向获取,支持默认值返回,附有测试用例 二、函数格式:fn_get_split_val(in_str varchar,in_delimiter varchar,in_order int,in_default ...

    mysql拼接字符串函数.zip

    MySQL提供了多种方法来实现字符串的连接,这些函数在处理和操作文本数据时显得尤为重要。下面将详细介绍MySQL中用于拼接字符串的主要函数。 1. CONCAT() 函数 CONCAT() 是最常用的字符串拼接函数,它可以接收一个或...

    mysql获取字符串长度函数(CHAR_LENGTH)

    length: 是计算字段的长度一个汉字是算三个字符,一个数字或字母算一个字符CHAR_LENGTH(str) 返回值为字符串str 的长度,长度的单位为字符。一个多字节字符算作一个单字符。对于一个包含五个二字节字符集, LENGTH()...

Global site tag (gtag.js) - Google Analytics