【发布时间】:2012-03-06 18:00:00
【问题描述】:
我想提取用逗号分隔的特定字符串,并在SQL server 2008 中跨特定列进行解析。SQL server 中的表结构如下:
CREATE TABLE SAMP(COMMASEPA VARCHAR(255),X VARCHAR(10),Y VARCHAR(10),Z VARCHAR(10),A VARCHAR(10),B VARCHAR(10),C VARCHAR(10),D VARCHAR(10))
INSERT INTO SAMP VALUES('X=1,Y=2,Z=3',null,null,null,null,null,null,null),
('X=3,Y=4,Z=5,A=6',null,null,null,null,null,null,null),
('X=1,Y=2,Z=3,A=5,B=6,C=7,D=8',null,null,null,null,null,null,null)
我希望根据逗号和[x/y/z/a/b/c/d] 中的一个字符串来分隔字符串。例如,在第一行的结果表中,X=1 应该在 X col 中,Y=2 应该在 Y col 中,Z=3 应该在 Z col 中。请输入任何想法。谢谢……
【问题讨论】:
-
我曾经遇到过同样的问题。你可以去这里sommarskog.se/arrays-in-sql-2008.html或apexa.net/Blog/web_design_Blog_20080619.aspx。这两个页面都向您展示了将列表/数组解包/解析为表的方法
标签: sql sql-server sql-server-2008 sql-server-2005