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()函数
用来复制字符串,如下'a'表示要复制的字符串,2表示复制的份数
mysql> select repeat('a',2);
+---------------+
| repeat('a',2) |
+---------------+
| aa |
+---------------+
1 row in set (0.00 sec)
分享到:
相关推荐
MySQL不提供内置的多分隔符字符串分割函数,但可以通过创建用户定义的函数(UDF)来实现。这通常涉及到C语言编程,将编译好的库文件导入到MySQL服务器。然而,对于简单的分割任务,可以考虑在应用程序层处理。 四、...
利用mysql中提供的所有函数,组成的一个存储过程。此存储过程主要是将传入的字符串分割为多个值,单个列。
通过这些MySQL函数和存储过程的组合,我们可以有效地将一个字符串分割成数组,这对于处理分隔的字符串数据非常有用。在实际应用中,这样的操作可能出现在数据分析、日志解析或数据导入等场景。理解并熟练运用这些...
MySQL提供了丰富的字符串处理函数,如 `CONCAT` 用于连接字符串,`LENGTH` 或 `CHAR_LENGTH` 用于计算字符串长度,以及 `REPLACE` 用于替换字符串中的特定部分等。这些函数在实际开发中非常实用,了解并熟练掌握它们...
在MySQL数据库中,字符串函数是非常重要的组成部分之一,它们可以帮助我们有效地管理和操作数据中的文本部分。对于任何从事数据库管理、数据处理或数据分析的人来说,熟练掌握这些函数都是必不可少的技能。本文档将...
第三种方法通过将目标字符作为分隔符,使用`String.Split`方法分割字符串,然后通过结果数组的长度减一得到目标字符的出现次数。实现代码如下: ```csharp int c3 = str.Split(new char[] {'A'}).Length - 1; ``` ...
下边的函数,实现了象数组一样去处理字符串。 一,用临时表作为数组 代码如下: create function f_split(@c varchar(2000),@split varchar(2)) returns @t table(col varchar(20)) as begin while(charindex(@split,@...
- `preg_split`:使用正则表达式将字符串分割到数组中。 正则表达式的语法是专门的,需要掌握特殊字符、量词、字符类等构造。在使用正则表达式时,开发者需要构建一个适当的模式(Pattern),它定义了需要匹配的...
总的来说,熟练掌握这些MySQL字符串截取函数对于提升数据库操作效率和编写高效SQL语句至关重要。了解它们的用法和特性,可以更好地应对各种字符串处理场景,简化编程工作,并提高数据处理的灵活性。
MySQL函数大全涵盖了大量的操作,包括对字符串、数值和数据类型的转换。以下是一些重要的MySQL函数的详细介绍: 1. ASCII(str): 这个函数返回字符串str的第一个字符的ASCII码值。如果str为空,它返回0;如果str是...
根据提供的文件信息,本文将详细解释Java中截取字符串的各种方法及其使用场景,并...以上是对Java中截取字符串方法以及部分MySQL字符串截取函数的详细介绍。通过这些方法,开发者可以灵活地处理各种字符串相关的任务。
`split()`函数则用于根据指定的分隔符将字符串分割成数组。这对于处理CSV数据或者需要拆分字符串的情况非常有用。你还可以通过`limit`参数限制分割出的数组元素数量。 最后,`sql_regcase()`函数是一个不太常见的...
1. **内置函数**:在某些SQL方言中,如MySQL,你可以使用`STR_TO_DATE()`函数或`CAST()`/`CONVERT()`函数来尝试将字符串转换为数字。但这些函数并不能直接处理算术表达式,只能用于简单的数字字符串转换。 2. **...
本文将详细探讨MySQL中的几种截取字符串的函数,帮助你更好地理解和运用这些功能。 1. `LEFT()` 函数:这个函数用于从字符串的左侧开始截取指定数量的字符。例如,`LEFT(name, 4)` 将返回`name`字段的前4个字符。在...
SUBSTRING_INDEX函数按照分隔符将字符串分割,并返回分割后指定数目的部分。 ```sql SELECT SUBSTRING_INDEX('***', '.', 2); -- 返回 '***' ``` 请注意,实际使用中可能会遇到OCR扫描文档导致的个别字识别错误或漏...
这个方法的原理是使用Split()和Join()方法,将字符串分割成子字符串,然后将其合并成新的字符串。这个方法的效率非常高,但需要引用Microsoft.VisualBasic.DLL库。 6. 使用Reflector和Denis Bauer's Reflector....
字符串函数如SPLIT_STR或内置的字符串函数(取决于数据库系统),可以将字符串分割成数组或列表。例如,在MySQL中,`SPLIT_STR('a,b,c', ',', 2)`返回'b'。 这些基本的字符串操作是SQL查询中不可或缺的部分,无论是...