首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

SQL 分割符有关问题

2012-02-26 
SQL 分割符问题把一个字段叫做电话号码:13478908796,12345678,11111分隔符为,分离为电话号码1:13478908796

SQL 分割符问题
把一个字段叫做 电话号码:13478908796,12345678,11111 分隔符为,  
  分离为电话号码1:13478908796 电话号码2:12345678 电话号码3:11111

[解决办法]
分割?
[解决办法]

SQL code
create table wanglejun(电话号码 varchar(50))insert into wanglejun select '13478908796,12345678,11111'-- 拆分为行select '电话号码'+cast(row_number() over(order by getdate()) as varchar) '电话号码',substring(a.电话号码,b.number,charindex(',',a.电话号码+',',b.number)-b.number) 'n'from wanglejun ainner join master.dbo.spt_values bon b.[type]='P' and substring(','+a.电话号码,b.number,1)=','电话号码             n---------------- -----------------电话号码1          13478908796电话号码2          12345678电话号码3          11111(3 row(s) affected)-- 拆分为列with t as(select '电话号码'+cast(row_number() over(order by getdate()) as varchar) '电话号码',substring(a.电话号码,b.number,charindex(',',a.电话号码+',',b.number)-b.number) 'n'from wanglejun ainner join master.dbo.spt_values bon b.[type]='P' and substring(','+a.电话号码,b.number,1)=',')select [电话号码1], [电话号码2], [电话号码3]from tpivot(max(n) for 电话号码 in ([电话号码1], [电话号码2], [电话号码3])) t电话号码1      电话号码2    电话号码3------------  ----------  -----------13478908796      12345678     11111(1 row(s) affected) 

热点排行
Bad Request.