精华内容
下载资源
问答
  • 1、Mysql中GROUP_CONCAT函数 用于拼接以逗号隔开的字符串 例如:selectGROUP_CONCAT(columnName) from table; 2、Oracle中无上函数,但可以使用wm_concat进行拼接字符串 例如:selectwm_concat(columnName) ...

    1、Mysql中 GROUP_CONCAT函数 用于拼接以逗号隔开的字符串 

    例如:select GROUP_CONCAT(columnName) from table;

    2、Oracle中无上函数,但可以使用wm_concat进行拼接字符串

    例如:select wm_concat(columnName) from table;

    3、Oracle中还有另一种拼接方式 用||进行拼接

    例如:select  columnA || columnB  from dual;

    展开全文
  • 文章目录测试数据1、CONCAT(直接拼接函数)2、CONCAT_WS(使用指定的分割符去拼接字符串)3、GROUP_CONCAT(将查询的数据先行直接连接,然后将列通过指定的分割符拼接) 测试数据 SELECT id,login_name,real_name ...

    测试数据

    SELECT id,login_name,real_name FROM `iam_user` where id in (17,18,19)
    
    idlogin_namereal_name
    17uat_test02测试账号2
    18uat_test03测试账号03
    19uat_test04测试账号04

    1、CONCAT(直接拼接函数)

    语法:CONCAT(str1,str2…)

    案例:

    SELECT  CONCAT(id,login_name,real_name) AS result FROM `iam_user` where id in (17,18,19)
    
    result
    17uat_test02测试账号2
    18uat_test03测试账号03
    19uat_test04测试账号04

    注意:CONCAT函数的参数不可以是NULL,否则只要有一个是NULL,返回值就是NULL

    2、CONCAT_WS(使用指定的分割符去拼接字符串)

    语法:CONCAT_WS(separator,str1,str2…)

    案例:

    SELECT  CONCAT_WS(',',id,login_name,real_name) AS result FROM `iam_user` where id in (17,18,19)
    
    result
    17,uat_test02,测试账号2
    18,uat_test03,测试账号03
    19,uat_test04,测试账号04

    注意:CONCAT_WS函数的separator参数不可以是NULL,否则返回值就是NULL,待拼接字符串如果为NULL,则不影响其他字符串的拼接

    3、GROUP_CONCAT(将查询的数据先行直接连接,然后将列通过指定的分割符拼接)

    语法:GROUP_CONCAT([DISTINCT] str1,str2… [ORDER BY str1 ASC/DESC ,str2 ASC/DESC…] [SEPARATOR ‘separator’])

    SELECT GROUP_CONCAT(DISTINCT id,login_name,real_name ORDER BY id DESC SEPARATOR ',') AS result FROM `iam_user` where id in (17,18,19)
    

    案例:

    result
    19uat_test04测试账号04,18uat_test03测试账号03,17uat_test02测试账号2

    注意:CONCAT_CONCAT函数的separator参数可以是没有的,只有待拼接字符串时,默认的separator是 ‘,’

    4、REPEAT(复制指定字符串指定次数)

    语法:REPEAT(str,num)

    案例:

    SELECT REPEAT(id,2) AS result FROM `iam_user` where id in (17,18,19)
    
    result
    1717
    1818
    1919

    注意:REPEAT函数的num参数不可以是NULL,否则返回值就是NULL

    展开全文
  • MySQL中,实现字符串拼接主要有以下3种函数: concat(x,y,…) concat_ws(分隔符,x,y,…) group_concat(distinct xxx order by asd/desc yyy separator ‘分隔符’) 一、concat函数 concat()函数用于将多个字符串...

    在MySQL中,实现字符串拼接主要有以下3种函数:
    concat(x,y,…)
    concat_ws(分隔符,x,y,…)
    group_concat(distinct xxx order by asd/desc yyy separator ‘分隔符’)

    一、concat函数

    concat()函数用于将多个字符串连接成一个字符串

    格式:concat(str1,str2,…)

    – mysql concat() –
    SELECT CONCAT(‘I’,‘love’,‘somebody’); # Ilovesomebody
    SELECT CONCAT(‘I’,NULL,‘somebody’); # NULL
    SELECT CONCAT(14.4); # 14.4

    注意:

    如果有任何一个参数为NULL,则返回值为NULL;
      如果所有参数为非二进制字符串,则返回非二进制字符串;
      如果含有任一二进制字符串,则返回一个二进制字符串;
      数字参数也会被转化为与之相等的二进制字符串格式,若要避免这种情况,可使用显式类型 cast,例如:
    SELECT CONCAT(CAST(col_a AS CHAR), col_b) FROM table_xxx;

    二、concat_ws函数

    concat_ws函数,concat with separator 分隔符,是concat()的特殊形式。

    格式:concat_ws(separator, str1, str2,…)

    第一个参数为分隔符,放在两个要连接的字符串之间。
    SELECT CONCAT_WS(’-’,‘First’,‘Second’,‘Third’); # First-Second-Third
    SELECT CONCAT_WS(’-’,‘First’,NULL,‘Third’); # First-Third

    注意:

    如果分隔符为NULL,则结果为NULL;
      函数会忽略任何分隔符参数后的NULL值;
      函数不会忽略任何空字符串,但是会忽略所有NULL值;

    三、group_concat函数

    group_concat函数,实现分组查询之后的数据进行合并,并返回一个字符串结果。group_concat函数用于将多个字符串拼接成一个字符串。而MySql默认的最大拼接长度为1024个字节,一般情况下是够用的,但如果数据量特别大,就会存在java层返回内容被截断的问题,这时,为了保证拼接数据的完整性,就需要手工修改配置文件的group_concat_max_len属性值了。

    格式:group_concat( [distinct] 要连接的字段 [order by 排序字段 asc/desc ] [separator ‘分隔符’] )

    通过使用distinct可以排除重复值;
      如果希望对结果中的值进行排序,可以使用order by子句;
      separator是一个字符串值,默认为逗号分隔。
    SELECT id,
    GROUP_CONCAT(DISTINCT num ORDER BY num DESC SEPARATOR ‘$’) AS cont
    FROM test.t_2
    GROUP BY id;

    结果:
    group_concat还可以与concat_ws嵌套使用,实现更加复杂功能。

    四、其他字符串连接杂谈

    “+” & || (不行)
    Mysql使用“+”进行字符拼接的时候,会尝试将两端的字段值转换为数字类型,如果转换失败则认为字段值为0
    oracle使用||进行字符串拼接,concat 只支持2个参数,可以多个嵌套使用
    MS 使用+进行字符串拼接

    group_concat应用

    用了group_concat后,select里如果使用了limit是不起作用的
    用group_concat连接字段的时候是有长度限制的,并不是有多少连多少,可以使用group_concat_max_len系统变量,设置允许的最大长度group_concat将某一字段的值按指定的字符进行累加,系统默认的分隔符是逗号
    一个简单的例子:
    – 按f_b进行分组查询,将每组中的f_a进行累加
    select group_concat(f_a) from t_one group by f_b;

    修改默认的分隔符
    – separator 是一个关键字,后面跟着要进行分隔的字符
    select group_concat(f_a separator ‘_’) from t_one group by f_b;

    排序
    select group_concat(f_a order by f_a separator ‘_’) from t_one group by f_b;

    和concat使用
    group_concat默认返回的是BLOB大对象,可以使用concat,返回字符串,还可以在返回的内容,在加入其它的数据。
    【参数修改】:group_concat_max_len
      group_concat_max_len是针对java的jdbc对mysql查询结果集中group_concat函数列的值的转换长度,而不是针对group_concat函数本身能够容纳的字符长度。

    举例:group_concat_max_len默认值为1024,如果sql执行结果集中group_concat对应列的长度为1025,则会被截掉1个长度;但是group_concat函数本身还是会查询返回1025个长度的字符。

    查看当前mysql group_concat_max_len
    show variables like ‘group_concat_max_len’;

    如果未曾修改会得到下面结果:
    在这里插入图片描述

    修改mysql group_concat_max_len
    如果不方便重启mysql 可以在mysql状态通过命令设置,,可以设置作用范围,临时修改,重启服务后悔失效,如:

    SET GLOBAL group_concat_max_len=102400;
    SET SESSION group_concat_max_len=102400;

    注:此种方式在mysql重启后会读取配置文件重新设置,会导致设置失效,所以建议依旧要修改配置文件

    永久需修改配置文件:my.ini
    在[mysqld]下新增配置:group_concat_max_len = 102400,重启。
    特别的,有时我们并不知需要多大的字节才能满足需求,此种情况可以考虑不设置最大字节(即采用最大字节数)即在配置文件设置group_concat_max_len=-1 ( 4294967295 = 2^32 - 1)

    展开全文
  • CONCAT()函数用于将多个字符串连接成一个字符串,是最重要的mysql函数之一。 SELECT concat('2019-12-1',' ',date_format(transaction_time, '%H:%i:%S'))

    CONCAT()函数用于将多个字符串连接成一个字符串,是最重要的mysql函数之一。

    SELECT concat('2019-12-1',' ',date_format(transaction_time, '%H:%i:%S')) 

     

    展开全文
  • 字符串拼接CONCAT SELECT CONCAT("姓名:",NAME,"年龄:",age...字符串拼接函数GROUP_CONCAT (可以选择分割符,排序操作) SELECT GROUP_CONCAT(NAME ORDER BY ID SEPARATOR '|') as NAME FROM area GROUP BY pI...
  • mysql字符串拼接函数:concat和concat_ws

    千次阅读 2017-10-21 09:14:15
    concat函数 CONCAT(str1,str2,…) 在使用concat遇到了这样的一个问题,在更新用户收货地址id的时候: update t_user tu set user_addr_id = ( select id from t_addr ta where concat(ta.province, ta.city, ...
  • 1.CONCAT() 拼接单行字符串 select concat(‘100’,user_id) from table1;...MySQL的concat函数在连接字符串的时候,只要其中一个是NULL,那么将返回NULLselect concat('11','22',null); 结果NULL ...
  • MySql-字符串拼接函数

    万次阅读 2018-08-04 14:56:04
    摘要 正文 CONCAT:最常用的字符串拼接... 本文介绍MySql中的字符串拼接函数。 正文 CONCAT:最常用的字符串拼接函数 语法:CONCAT(str1,str2…) 说明:将str1、str2…直接连接起来,如:执行SELECT CONCAT('...
  • MySQL--字符串处理函数concat、concat_ws与神奇字符串函数group_concat1、concat与concat_ws语法2、group_concat语法3、创建表格4、题目部分5、文末彩蛋--轻松一刻      更多关于数据库...
  • MySQL中concat函数(连接字符串)  MySQL中concat函数  使用方法:  CONCAT(str1,str2,…)   返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。  注意:  如果所有参数均...
  • 简单来说,Mysql中的字符串拼接函数主要有三个,分别是CONCAT()、CONCAT_WS()以及GROUP_CONCAT();废话不多说,下面就每个函数具体来看一下: 1、CONCAT()函数 该函数的标准格式应为CONCAT(str1,str2,…),可以有多...
  • Mysql字符串拼接concat()函数

    千次阅读 2018-04-04 10:25:11
    MySQL中concat函数 使用方法: CONCAT(str1,str2,…)  返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。 注意: 如果所有参数均为非二进制字符串,则结果为非二进制字符串...
  • MYSQL字符串拼接

    2018-10-25 16:01:30
    一、MySQL自带字符串拼接函数 CONCAT 字符串拼接 CONCAT_WS 指定字符串分割拼接字符串拼接 ① 语法:CONCAT(str1,str2…)   解释:concat 拼接 str1和str2字符串, 省略号....代表可以多个字符串拼接 示例: ...
  • MySQL字符串拼接、截取

    千次阅读 2020-09-11 11:56:35
    2.MySQL 字符串拼接:concat(a,b) select concat('1','2') from dual; 截取字符串 1.MySQL 函数:SUBSTRING或者SUBSTR 1.1语法 位置 SUBSTRING(string,position); SUBSTRING(string FROM position); 位置...
  • MySQL中的字符串拼接函数详解

    万次阅读 2015-08-05 18:48:20
    CONCAT函数 ...函数形式:CONCAT(str1,str2,…)示例1:单个字符串连接mysql> select concat('Hello'); +-----------------+ | concat('Hello') | +-----------------+ | Hello | +-----------------
  • MySQL 字符串拼接

    2018-01-06 17:34:28
    MySQL 字符串拼接Mysql 数据库中存在两种字符串连接操作.具体操作如下 1. CONCAT(string1,string2,…) 说明 : string1,string2代表字符串,concat函数在连接字符串的时候,只要其中一个是NULL,那么将...
  • mysql concat()函数MySQL的concat函数可以连接一个或者多个字符串,如selectconcat('10');输出10selectconcat('11','22','33');输出112233而Oracle的concat函数只能连接两个字符串select concat('11','22') from dual...
  • mysql 字符串 拼接 截取 替换 MySQL字符串函数substring:字符串截取
  • MYSql-字符串拼接

    万次阅读 2018-10-25 15:54:21
    一、MySQL自带字符串拼接函数 CONCAT 字符串拼接 CONCAT_WS 指定字符串分割拼接字符串拼接 ① 语法:CONCAT(str1,str2…)   解释:concat 拼接 str1和str2字符串, 省略号....代表可以多个字符串拼接 示例: ...
  • mysql字符串拼接

    2014-04-13 18:24:11
    mysql数据库字符串拼接是我编程过程中多次遇到的问题,以前总是先把...今天查了一下,原来可以直接调用mysql字符串拼接函数,方法十分简单,例如:UPDATE AAA SET user_name=CONCAT(user_name,'hello') WHERE id...
  • mysql 字符串拼接的几种方式

    万次阅读 2019-05-28 16:24:13
    总是记不住字符串拼接,每次都要百度去...mysql自带语法CONCAT(string1,string2,...),此处是直接把string1和string2等等的字符串拼接起来(无缝拼接哦) 说明:此方法在拼接的时候如果有一个值为NULL,则返回NULL ...
  • #字符串拼接 concat(s1,s2); 将表中last_name和first_name中的字符串拼接 select concat(last_name,first_name) as 姓名 from employees; #只会修改last_name不会修改first_name SELECT first_name,last_name AS ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 27,711
精华内容 11,084
关键字:

mysql字符串拼接函数

mysql 订阅