sql一列如何分成多列在视图中显示出来?
数据库test中,表1中有以下列(int)(ntext)NON1(固定格式编号,数量,编号,数量。。。但是有多少组不固定)1APA13018001,5000,PA1300...
数据库test中,表1中有以下列
(int) (ntext)
NO N1(固定格式编号,数量,编号,数量。。。但是有多少组不固定)
1 APA13018001,5000,PA1300435,198500,AP13011102,29677,
2 PRD13014489-0074,1669,
3 PD13017119-0079357,17934,PCK13005066,30000,
4 后面有很多很多行,逐渐增加中
请问如何做在视图中实现
NO N1 C1 N2 C2 N3 C3 .........
1 APA13018001 5000 PA1300435 198500 AP13011102 29677
2 PRD13014489-0074 1669
3 PD13017119-057 17934 PCK13005066 30000
4 .............
劳烦师傅们帮忙写个代码,小弟先谢过了。 展开
(int) (ntext)
NO N1(固定格式编号,数量,编号,数量。。。但是有多少组不固定)
1 APA13018001,5000,PA1300435,198500,AP13011102,29677,
2 PRD13014489-0074,1669,
3 PD13017119-0079357,17934,PCK13005066,30000,
4 后面有很多很多行,逐渐增加中
请问如何做在视图中实现
NO N1 C1 N2 C2 N3 C3 .........
1 APA13018001 5000 PA1300435 198500 AP13011102 29677
2 PRD13014489-0074 1669
3 PD13017119-057 17934 PCK13005066 30000
4 .............
劳烦师傅们帮忙写个代码,小弟先谢过了。 展开
3个回答
展开全部
分隔字符串代码 用','分隔
用下面的函数
create function f_splitstr(@SourceSql varchar(8000),@StrSeprate varchar(100)) returns @temp table(F1 varchar(100)) as begin declare @ch as varchar(100) set @SourceSql=@SourceSql+@StrSeprate while(@SourceSql<>'') begin set @ch=left(@SourceSql,charindex(',',@SourceSql,1)-1) insert @temp values(@ch) set @SourceSql=stuff(@SourceSql,1,charindex(',',@SourceSql,1),'') end return end
用下面的函数
create function f_splitstr(@SourceSql varchar(8000),@StrSeprate varchar(100)) returns @temp table(F1 varchar(100)) as begin declare @ch as varchar(100) set @SourceSql=@SourceSql+@StrSeprate while(@SourceSql<>'') begin set @ch=left(@SourceSql,charindex(',',@SourceSql,1)-1) insert @temp values(@ch) set @SourceSql=stuff(@SourceSql,1,charindex(',',@SourceSql,1),'') end return end
展开全部
由于多少组不固定,所以用SQL做比较难,你还是直接导出到excel表,再用excel数据分列功能分好列,再把excel表导入到数据库一个新表,这个比较简单
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用charindex查逗号,但很困难。
你在存储过程里慢慢处理,放到一个临时表中去,再取回这个临时表
你在存储过程里慢慢处理,放到一个临时表中去,再取回这个临时表
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询