Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从表中读取XML属性?_Xml_Sql Server 2005 - Fatal编程技术网

如何从表中读取XML属性?

如何从表中读取XML属性?,xml,sql-server-2005,Xml,Sql Server 2005,数据库中的表EMP有3列empID、badgID和XMLDATA XMLDATA的数据类型为“clob”,数据格式为- <Record id="11"> <Demo rID="5"/> </Record> 如何在单个查询中读取上述XMLDATA中节点“Demo”值中的属性“rID” Server-SQL Server 2005如果在SQL Server中使用数据类型XML存储数据,则可以执行以下操作: SELECT empID, bad

数据库中的表EMP有3列empID、badgID和XMLDATA

XMLDATA的数据类型为“clob”,数据格式为-

<Record id="11">
    <Demo rID="5"/>
</Record>

如何在单个查询中读取上述XMLDATA中节点“Demo”值中的属性“rID”


Server-SQL Server 2005

如果在SQL Server中使用数据类型XML存储数据,则可以执行以下操作:

SELECT 
    empID, badgID,
    XmlData.value('(/Record/Demo/@rID)[1]', 'int') as 'rID'
FROM 
    dbo.YourTable
如果您的数据类型是而不是XML,那么它确实应该是!您可能需要使用类似的方法(可能不适用于所有情况):


如果您发布代码或XML,请在文本编辑器中突出显示这些行,并单击编辑器工具栏上的“代码”按钮(101 010),以很好地格式化和语法突出显示它!实际的数据类型是什么<就我所知,code>clob不是SQL Server数据类型。说真的-数据类型“clob”??据我所知,SQL Server没有这样的功能—我们有
图像、文本、NTEXT
(全部过时)或
(N)VARCHAR(MAX)
VARBINARY(MAX)
XML
—那么到底是什么呢?谢谢。我尝试了两个查询,结果都失败了,结果显示“schema XMLDATA不存在”。但表中存在XMLDATA列。@indigenious:您能给我们展示一下实际的表结构吗,例如数据库图表或其他东西吗?很抱歉,我只有对数据库的读取权限,不知道该体系结构。
SELECT 
    empID, badgID,
    (CAST XmlData AS XML).value('(/Record/Demo/@rID)[1]', 'int') as 'rID'
FROM 
    dbo.YourTable