knrt.net
当前位置:首页 >> SQL语句怎么循环取出一个表里面的所有字段,用逗号间隔 >>

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

select distinct 'T1' M, stuff((select ','+cast(b.t1 as varchar) from TABLE_1 b where 1=1 for xml path('')),1,1,'') N from TABLE_1 a union all select distinct 'T2' M, stuff((select ','+cast(b.t2 as varchar) from TABLE_2 b where 1=1 for xml path('')),1,1,'') N from TABLE_2 a

思路:先拆开后插入临时表中,再distinct 去重,再连接起来插入至你的表中.可以把这个写成个方法,调用.

select count(*)from table where 字段 like '%负责人%' 想复杂一些,就要写函数了 create function func_splitstring(@str nvarchar(max),@split varchar(10)) returns @t Table (c1 varchar(100)) as begin declare @i int declare @s int set @i=1 set @s

select * 取一条数据,然后再读各个字段不可以吗

我以前也碰到过类似的问题,不过采用的是迂回的方法来完成,你看看有帮助不.先用EXCEL将带逗号的数据(用其它数据库也可以的,比如Access和SQL Server)导入,导入选择数据项之间由逗号分隔,这样EXCEL就把数据之间的逗号去掉了,导入完成之后就再能以数据表的形式使用了.

--charindex 和 left可以实现select left('3,11,11,11',CHARINDEX(',','3,11,11,11')-1)select left('333,11,11,11',CHARINDEX(',','333,11,11,11')-1)

命令: select <字段1,字段2,> from < 表名 > where < 表达式 > 例如:查看表 MyClass 中所有数据 mysql> select * from MyClass;

先用拆分函数拆分,SQL里面应该是XML方式,然后行列转换函数显示一行

查询出来再插入不行吗? 在java代码中新建一个list,将num的值split(“,”) 循环这个顺组,生成新的list 然后插入表中!

相关文档
网站首页 | 网站地图
All rights reserved Powered by www.knrt.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com