内容简介:在较新版本的SQL中,出现有2个函数,STRING_SPLIT和STRING_AGG,前者是把带有分隔的字符串转换为表,而后者却是把表某一表转换为以某种字符分隔的字符串。如下面:把它转存为表:
在较新版本的 SQL 中,出现有2个函数,STRING_SPLIT和STRING_AGG,前者是把带有分隔的字符串转换为表,而后者却是把表某一表转换为以某种字符分隔的字符串。
如下面:
DECLARE @str NVARCHAR(MAX) = N'ADS,ADFD,AGF,SDFGSFD,DSFG,RET,TRY,T,ADF,GSF,UY,QWERQ'
把它转存为表:
DECLARE @dump_data AS TABLE([value] NVARCHAR(MAX)) INSERT INTO @dump_data ([value]) SELECT [value] FROM STRING_SPLIT(@str,',') Source Code
反转,需要把临时表这列[value] 转换为一个字符串:
SELECT STRING_AGG([value], ',') FROM @dump_data Source Code
其实STRING_AGG这函数,还可以对新串联的字符进行排序:
SELECT STRING_AGG([value], ',') WITHIN GROUP (ORDER BY [value]) FROM @dump_data Source Code
如果你不想创建临时表,把拆分的数据插入临时表,步骤繁复。可以使用派生表来进行:
SELECT STRING_AGG([value], ',') WITHIN GROUP (ORDER BY [value]) FROM (SELECT [value] FROM STRING_SPLIT(@str,',')) source Source Code
或者使用一般资料表运算式CTE (Common Table Expression)
;WITH dump_data AS ( SELECT [value] FROM STRING_SPLIT(@str,',') ) SELECT STRING_AGG([value], ',') WITHIN GROUP (ORDER BY [value]) FROM dump_data; Source Code
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- Python 拓展之特殊函数(lambda 函数,map 函数,filter 函数,reduce 函数)
- Python 函数调用&定义函数&函数参数
- python基础教程:函数,函数,函数,重要的事说三遍
- C++函数中那些不可以被声明为虚函数的函数
- 017.Python函数匿名函数
- 纯函数:函数式编程入门
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Hacking Growth
Sean Ellis、Morgan Brown / Crown Business / 2017-4-25 / USD 29.00
The definitive playbook by the pioneers of Growth Hacking, one of the hottest business methodologies in Silicon Valley and beyond. It seems hard to believe today, but there was a time when Airbnb w......一起来看看 《Hacking Growth》 这本书的介绍吧!