从 SQL 服务器 table 列的行过滤记录
Filter a record from a row from SQL Server table column
我有一个 table,其中有一列包含如下数据:
<E><A>a</A><B>b</B><C>c</C></E>
我创建了一个新的 table,现在我需要将每个标签值插入到新的 table 的单独列中。我是 SQL 的新手,不知道如何执行此操作。
最后,数据应该是这样的:
Column names A | B | C
Row a | b | c
能否请您提供任何解决方案?
提前致谢。
这样的事情可以帮助你:
CREATE TABLE Table1
(
id int,
xmlBody xml
);
INSERT INTO Table1 VALUES (1, '<E><A>a</A><B>b</B><C>c</C></E>');
INSERT INTO Table1 VALUES (2, '<E><A>a1</A><B>b1</B><C>c1</C></E>');
INSERT INTO Table1 VALUES (2, '<E><A>a2</A><B>b2</B><C>c2</C></E>');
SELECT
xmlBody.value('(/E/A)[1]', 'varchar(20)') as A,
xmlBody.value('(/E/B)[1]', 'varchar(20)') as B,
xmlBody.value('(/E/C)[1]', 'varchar(20)') as C
FROM Table1
我有一个 table,其中有一列包含如下数据:
<E><A>a</A><B>b</B><C>c</C></E>
我创建了一个新的 table,现在我需要将每个标签值插入到新的 table 的单独列中。我是 SQL 的新手,不知道如何执行此操作。
最后,数据应该是这样的:
Column names A | B | C
Row a | b | c
能否请您提供任何解决方案?
提前致谢。
这样的事情可以帮助你:
CREATE TABLE Table1
(
id int,
xmlBody xml
);
INSERT INTO Table1 VALUES (1, '<E><A>a</A><B>b</B><C>c</C></E>');
INSERT INTO Table1 VALUES (2, '<E><A>a1</A><B>b1</B><C>c1</C></E>');
INSERT INTO Table1 VALUES (2, '<E><A>a2</A><B>b2</B><C>c2</C></E>');
SELECT
xmlBody.value('(/E/A)[1]', 'varchar(20)') as A,
xmlBody.value('(/E/B)[1]', 'varchar(20)') as B,
xmlBody.value('(/E/C)[1]', 'varchar(20)') as C
FROM Table1