相关文章推荐
阳刚的小狗  ·  numpy.where() in ...·  3 年前    · 
深沉的钥匙扣  ·  @vue/composition-api ...·  3 年前    · 
幸福的领结  ·  8. ...·  3 年前    · 
活泼的铁链  ·  Create a Virtual ...·  3 年前    · 

拼接的结果很长,导致拼接结果显示不全,可以通过以下方法解决。

在每次查询前执行 SET SESSION group_concat_max_len = 10240;

或者SET GLOBAL group_concat_max_len = 10240;

使得查询结果值变大。

补充:SQL server 的 拼接SQL如下:

select stuff (( select ','+ requestid from nccombinedpayment for xml path('')),1,1,'') as requestid ;

补充函数方法:

使用的例子均在下面的数据库表tt2下执行:

一、concat()函数

1、功能:将多个字符串连接成一个字符串。

2、语法:concat(str1, str2,...)

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

3、举例:

例1:select concat (id, name, score) as info from tt2;

中间有一行为null是因为tt2表中有一行的score值为null。

例2:在例1的结果中三个字段id,name,score的组合没有分隔符,我们可以加一个逗号作为分隔符:

这样看上去似乎顺眼了许多~~

但是输入sql语句麻烦了许多,三个字段需要输入两次逗号,如果10个字段,要输入九次逗号...麻烦死了啦,有没有什么简便方法呢?——于是可以指定参数之间的分隔符的concat_ws()来了!!!

二、concat_ws()函数

1、功能:和concat()一样,将多个字符串连接成一个字符串,但是可以一次性指定分隔符~(concat_ws就是concat with separator)

2、语法:concat_ws(separator, str1, str2, ...)

说明:第一个参数指定分隔符。需要注意的是分隔符不能为null,如果为null,则返回结果为null。

3、举例:

例3:我们使用concat_ws()将 分隔符指定为逗号,达到与例2相同的效果:

例4:把分隔符指定为null,结果全部变成了null:

三、group_concat()函数

前言:在有group by的查询语句中,select指定的字段要么就包含在group by语句的后面,作为分组的依据,要么就包含在聚合函数中。(有关group by的知识请戳:浅析SQL中Group By的使用)。

该例查询了name相同的的人中最小的id。如果我们要查询name相同的人的所有的id呢?

当然我们可以这样查询:

但是这样同一个名字出现多次,看上去非常不直观。有没有更直观的方法,既让每个名字都只出现一次,又能够显示所有的名字相同的人的id呢?——使用group_concat()

1、功能:将group by产生的同一个分组中的值连接起来,返回一个字符串结果。

2、语法:group_concat( [distinct] 要连接的字段 [order by 排序字段 asc/desc ] [separator '分隔符'] )

说明:通过使用distinct可以排除重复值;如果希望对结果中的值进行排序,可以使用order by子句;separator是一个字符串值,缺省为一个逗号。

3、举例:

例7:使用group_concat()和group by显示相同名字的人的id号:

例8:将上面的id号从大到小排序,且用'_'作为分隔符:

例9:上面的查询中显示了以name分组的每组中所有的id。接下来我们要查询以name分组的所有组的id和score:

SELECT STUFF(CONVERT(VARCHAR(500), ( SELECT TOP 10 ',' + BG_Country FROM dbo.BS_Budget ... 在 数据 库查询和 数据 处理中,有时我们需要将表中的多个字段进行 拼接 ,以生 成 新的字段。本文将介绍如何使用 SQL 查询语句来实现字段 拼接 ,并将其结果作为新的字段返回,帮助你灵活处理和展示 数据 。在 SQL 查询中,我们可以使用不同的方法将多个字段 拼接 成 新的字段。通过本文的介绍,你了解了在 SQL 查询中将多个字段 拼接 成 新的字段的方法。你学习了使用 字符串 连接操作符、 字符串 连接函数、 字符串 拼接 函数和 字符串 加法运算符来实现字段 拼接 。这些方法可以根据你的具体需求和 数据 库系统的支持进行选择,帮助你更灵活地处理和展示 数据 。 上一篇文章 跨表更新,看到自己写的 SQL 像个憨憨写了关于跨表个更新的内容。一年过的很快,文中后来的两位员工 馮大 和 馮二 也要面对无情的 KPI 考核了,他们工作干的很不错,performance 分别是 4 和 5 新需求来了,静悄悄的来了!!! 领导想要查看每个 performance 下都有谁,同时要求将这些人的名称要 逗号 拼接 成 一个 字符串 ,也就是说要得到下面的结果: 要将结果集中某个指定的 列 进行 字符串 拼接 ,这要怎么做呢?主角闪亮:sparkles:登场 GROUP_CONCAT(expr) 在 Mysql 官方文档 中,该函数被放在聚合函数章节,如果你要按照指定字段分组 拼接 ,就要配合关键字 GRO 用 SQL 将Oracle中同一 列 的多行记录 拼接 成 一个 字符串 用 SQL 将Oracle中同一 列 的多行记录 拼接 成 一个 字符串 [ sql ]-- 原始 数据 -- a 111-- b 222-- a 333-- a 444-- b 555-- 最终结果-- a 111*333*444SELECTL4.L_TIME,MAX(SUBSTR(L4.分组内容,2)) 最终字段值FROM(SELECTL3... 1、功能:将多个 字符串 连接 成 一个 字符串 。 2、语法:concat(str1, str2,...) 返回结果为连接参数产生的 字符串 ,如果有任何 一个 参数为null,则返回值为null。 3、举例: 例1:select concat (id, name, score) as info from tt select group_concat(`title`) from testselect group_concat(`title`,`id`) from testgroup_concat group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator ' 分隔 符'])以type分组,type相同的算一条,且保留image和link的所有 数据 ,用groupBy只保留一条 数据 。可以看到 根据id 分 成 了三行 并且分数默认用 逗号 分割 但是有每个id有重复 数据 接下来去重。三、Laravel GROUP_CONCAT使用方法。 数据 库中存的是多条 数据 ,展示的时候需要合并 成 一条。group_concat 上场! 一、 MySQL 字符串 拼接 1、CONCAT函数 语法格式:CONCAT(char c1, char c2, …, char cn) ,其中char代表 字符串 ,定长与不定长均可以 连接两个 字符串 select concat(ename,sal) from emp; 连接多个 字符串 select concat(ename,':',sal) from emp; 2、"+"操作符 连接两个 字符串 select ename+sal from emp; 用在子查询中,如果有多条 数据 则把这些 数据 拼 成 一条来查询出来     例如   表1   学生信息(   ID           Name)                                           1             张三               表2   学生课程(   PK           StudentID           Course)   ... 1,首先说 一个 函数STUFF,函数将 字符串 插入另一 字符串 。它在第 一个 字符串 中从开始位置删除指定长度的字符;然后将第二个 字符串 插入第 一个 字符串 的开始位置。 ST(character_expression,start,length,character_expression ) character_expression: 一个 字符 数据 表达式。character_expression 可以是常量、变量,...