0
我已经声明@xmldata为xml。如何阅读?我试过sql server 2005 xquery读取xml类型
declare @xmldata as xml
set @xmldata = <root><row ename='abc' eid='1'/></root>
SELECT @XMLDATA
但它返回一个错误。我想从上面的xml类型获取eid列。
我已经声明@xmldata为xml。如何阅读?我试过sql server 2005 xquery读取xml类型
declare @xmldata as xml
set @xmldata = <root><row ename='abc' eid='1'/></root>
SELECT @XMLDATA
但它返回一个错误。我想从上面的xml类型获取eid列。
试试这个:
declare @xmldata as xml
set @xmldata = '<root><row ename="abc" eid="1"/></root>'
SELECT
@xmldata.value('(/root/row/@eid)[1]', 'int') AS 'EID'
更新:,如果你需要从表中选择和提取XML列的东西,用这个办法:
SELECT
tbl.ID,
tbl.XmlColumn.value('(/root/row/@ename)[1]', 'varchar(25)') AS 'EName'
FROM
dbo.YourTable tbl
WHERE
(...some condition here...)
日Thnx以上marc..the工作得很好。如果我有更多的行..如何选择*从XML检索所有行,并从XML选择ename检索选定的列.. – lsharma 2011-06-16 11:04:26
@Isharma:更新我的回应 – 2011-06-16 12:27:42