SQL Server,每10个字符拆分列值

时间:2016-06-30 03:38:19

标签: c# sql-server sql-server-2008 sql-server-2005 sql-server-2012

需要为每10个字符拆分列参考值,并且需要为每个行ID显示它

我有这样的数据

ID       Reference
1        405123  ap41502   ag067156
2        a450912   d109456
3        4a4122   g567412  ol09123  pl212671 et61789
4        6t3450   41234a3   01a459014

必填结果:

ID  Reference
1   405123  ap
1   41502   ag
1   067156
2   a450912   
2   d109456
3   4a4122   g
3   567412  ol
3   09123  pl2
3   12671 et61
3   789
4   6t3450   4
4   1234a3   0
4   1a459014

1 个答案:

答案 0 :(得分:0)

你可以使用数字/计数表。 CROSS将您的表格加入数字表格

select  *, substring(t.Reference, (n.n * 10) + 1, 10)
from    yourtable t
    cross join numbers n
where   n.n >= 0
and     n.n < ceiling(len(t.Reference) / 10.0)
order by ID, n.n

注意:计数表应包含0

的行