问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

使用SQL如何把用逗号等字符隔开的字符串转换成列表

发布网友 发布时间:2022-04-08 07:32

我来回答

3个回答

懂视网 时间:2022-04-08 11:54

),@pattern varchar(10)) returns @temp table([Sid] [int] IDENTITY (1, 1) NOT NULL ,a varchar(100)) --实现split功能 的函数 --说明:@aString,字符串,如a:b:c;@pattern,分隔标志,如 : as begin declare @i int set @aString=rtrim(ltrim(@aString)) set @i=charindex(@pattern,@aString) while @i>=1 begin insert @temp values(left(@aString,@i-1)) set @aString=substring(@aString,@i+1,len(@aString)-@i) set @i=charindex(@pattern,@aString) end if @aString<>‘‘ insert @temp values(@aString) return end

 

传入sql数组字符串,输出table

标签:

热心网友 时间:2022-04-08 09:02

如何把用逗号等字符隔开的字符串转换成列表,下面依逗号分隔符为例:

比如有一个字符串,其值为:香港,张家港,北京,上海
用SQL把这个字符串转换成列表的方法是:
1、方法一

WITH A AS (SELECT '香港,张家港,北京,上海' A FROM DUAL)
SELECT DECODE(B,0,SUBSTR(A,C),SUBSTR(A,C,B-C)) city FROM
(
SELECT A,B,(LAG(B,1,0) OVER(ORDER BY LV))+1 C
FROM(
SELECT A,INSTR(A,',',1,LEVEL) B,LEVEL LV FROM A
CONNECT BY LEVEL <=(LENGTH(A) - LENGTH(REPLACE(A,',','')))+1
)
)

热心网友 时间:2022-04-08 10:20

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER function [dbo].[分解字符到表_1]
( @字符串变量 varchar(8000),@分隔符 varchar(1) )
returns @ca1 table(代单号 varchar(100))
as
begin
--declare @字符串变量 varchar(8000),@分隔符 varchar(1)
--declare@ca1 table(代单号 varchar(100))
--set @字符串变量='^^^'
--set @分隔符='^'
declare @cAllDdh varchar(8000)
declare @aa varchar(100)
set @cAllDdh=ltrim(rtrim(@字符串变量))
set @aa=''
while charindex(@分隔符,@cAllDdh)>0
begin
if charindex(@分隔符,@cAllDdh)>0
begin
set @aa=left(@cAllDdh ,charindex(@分隔符,@cAllDdh )-1) --set @nID=cast(left(@cAllDdh ,charindex(@分隔符,@cAllDdh )-1) as int)
end
else begin --set @nID=cast(@cHid as int)
set @aa=@cAllDdh
end
set @aa=rtrim(ltrim(@aa))
set @aa=replace(@aa,char(13),'')
insert into @ca1(代单号) values(@aa)
if len(@cAllDdh)-len(@aa)>0
set @cAllDdh=substring(@cAllDdh,charindex(@分隔符,@cAllDdh)+1,len(@cAllDdh)-len(@aa)) --将ID字符串去除已截取的部分
end
insert into @ca1(代单号) values(@cAllDdh)
return
end
mssql,逗号分隔的字符串转换成一列数据

Select a.xm,xk=substring(a.xk,b.number,charindex(',',a.xk+',',b.number)-b.number)from 表A a join master..spt_values b ON b.type='p' AND b.number BETWEEN 1 AND LEN(a.xk)where substring(','+a.xk,b.number,1)=','

SQL逗号分割一列数据的值,将结果变成一行多列

create table #t(ID int,Content varchar(4000))insert into #t(ID,Content)select 1,'22,5000,3000'union all select 2,'1,35,200,2'union all select 3,'802,22'union all select 4,'213,354,2002,22,500'select * from #t declare @sql nvarchar(4000),@i intset @i=1while exis...

sql server里如何将一组用逗号分隔的字符串分解并插入到另一张表中...

1.得到这个字符串。如:111,222,333 2.得到带","字符串的长度。如:11 3.用replace把","去掉,得到长度。如:9 4.到这步,我们就知道,这个字符串有2个逗号,也就是说,有3个有效数据。5.用while,substring开始循环得到数据,然后插入到表中 如:set count=0 while(coung&lt;3)--我们已经知...

MySQL 逗号分隔的字符串如何直接在SQL语句中拆分并组合使用?

这个应该是你想要的结果,因为贴不了SQL语句,所以贴图给你看下吧。参考这个改一下应该就可以了。原理,你首选需要把你zbb中员工编号给拆开陈两个列,然后用着两个列的值,分别和ygb中的id进行关联,分别得到两个列的姓名。然后再把这两个列的姓名用逗号连接拼装成一个列。

sql来,请教怎么将查询的一列数据拼接用逗号隔开显示成一条记录

SELECT STUFF(( SELECT ',' + User_Name FROM dbo.Jv_System_User FOR XML PATH('') ), 1, 1, '') AS Name

如何用sql语句将一列多行数据拼接逗号隔开形成一条记录

mysql中,有标准函数,group_concat(name),直接返回连接好的字符串,并以逗号分割,如果记录比较多,超过函数返回值的最大值,可以调整mysql启动参数,增加显示值的长度。

MySQL 中将使用逗号分隔的字段转换为多行数据

首先,编写SQL查询与迁移语句。原始数据需从bus_mark_info表中提取,并通过insert into ... select迁移至新表。示例SQL如下:利用mysql的help_topic表进行关联。help_topic表特性为id从0开始递增,固定数据量701。对于每条bus_mark_info记录,预期生成关联数据数量等于pages字段逗号数量加1。通过设置正确...

sql server 用户自定义行集如何实现逗号分隔字符的转换为行集_百度知...

set @i=charindex(',',@SourceSql)while @i&gt;=1 begin insert @temp values(left(@SourceSql,@i-1))set @SourceSql=substring(@SourceSql,@i+1,len(@SourceSql)-@i)set @i=charindex(',',@SourceSql)end if @SourceSql&lt;&gt;','insert @temp values(@SourceSql)return end 用法 select * ...

SQL中逗号分隔的查询结果转换成单个字符串放到in语句里

select student from xxhd a, school b where patindex('%' || a.school || '%',b.school)&gt;0

sql怎么把一个字段以逗号间隔的字符,全部依次放到另一个字段中_百度知...

sqlserver处理方法 建表及数据 create table table1 (content varchar(200))insert into table1 values ('aa,bb,cc,dd,ee')执行 WITH roy AS ( SELECT COl1 = CAST(LEFT(content, CHARINDEX(',', content + ',') - 1) AS NVARCHAR(100)) , Split = CAST(STUFF(content + '...

python输出用逗号隔开的数字 数字怎么用逗号隔开 几位数字之间用逗号隔开 逗号顿号的使用区别 三个数字一个逗号隔开 python输入用逗号隔开 excel数据用逗号隔开 逗号分隔符 一个逗号几个字符
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
氰基硼氢化钠可以在醛酮的还原氨化中做还原剂,那硼氢化钠可以吗 怎样鉴别和田玉与阿富汗玉?-和田玉资讯 乌鸡红豆汤的热量是多少? 春季喝乌鸡汤加红豆红枣香姑好不好 天天喝一碗乌鸡红豆汤好吗 乌鸡红豆汤乌鸡红豆汤营养分析 香蕉和鸡蛋能一起吃么? 新余市半格娱乐有限公司怎么样? 海尔kfr-72lw/08dba22a 3匹柜式空调室内机出水离地多少 红茶和乌龙茶哪个减肥效果好 男朋友提车发多少红包合适 各位学霸给两篇“给家长的一封信”来吧!学校开家长会,老师要我们写两篇,100字左右 老公提新车红包698吉利吗 提新车红包用什么样的红包好 中国母亲节是哪一天?大家都是怎么过的? Linux终端命令行怎么连Wi-Fi 男朋友喜提新车,发红包,哪个数字好- 问一问 如何用dos命令连接wi-fi 设置微信朋友圈三天可见,是针对所有人还是个人 母亲节过去了么? 闺蜜喜提新车要不要给他分个红包? cad中已经填充好了,为什么使用fi命令不能计算总面积 压车红包要放车上多久? CAD中“FI”命令计数不准确。明明选中了52个灯具,却计数为54个是为什么? 批处理for命令中”%~fI - 将 %I 扩充到一个完全合格的路径名”这句说的是什么? 提新车包多少红包合适 Linux里面shell里面fi是什么意思? 中国的灯笼是世界上发明最早的便携式照明工具,出现在什么年代? 关于中国古代的灯笼, keyshot 初学,我渲染的这张图的物体表面有一层细微的颗粒是怎么回事?哪位会的麻烦告诉我 如果我在香港买Apple watch,香港买的Apple care 的价格会和在*买apple 香港买的苹果 国内保修吗 请问老师没有经过我同意偷拍两人同房隐私视频威胁我我该怎么做? 头条号,做影视混剪怎么去过原创,开始过原创的视频要自己真人出镜吗? BL 视频(或网站),有木有??!!不要真人的~~aisideru126@126.com 和别人视频的时候怎么才能识别是真人还是对方本人做的视频??? 不用真人出镜怎样做原创视频? 年轻女人同房喜欢前戏还是喜欢直接做? 如图此类视频是怎么做的?用美女图片做封面的恶搞视频? 怎么查小车违章最准确 广西建工集团有限责任公司怎么样 广西建工集团总部待遇怎样?研究生进去发展前景如何? 广西建工集团基础建设有限公司怎么样? 广西建工集团待遇怎么样 广西建工集团第一建筑工程有限责任公司怎么样 广西建工集团承不承认自考本科学历 广西建工集团第四建筑工程有限责任公司怎么样? 广西建工集团第五建筑工程有限责任公司怎么样? 广西建工集团第二建筑工程有限责任公司怎么样? 广西建工集团联合建设有限公司综合设计研究院怎么样?