如何在SQL Server中使用extractvalue

时间:2014-10-14 06:16:21

标签: sql-server oracle

我正在尝试将我的Oracle查询转换为SQL Server。尝试转换EXTRACTVALUEXMLSEQUENCEXMLTYPE函数时,下面显示的查询会造成一些困难。

任何人都可以帮我学习如何将这些转换为SQL Server吗?

  EXTRACTVALUE(COLUMN_VALUE, 'pipeline/@name') NAME
       FROM TABLE (SELECT XMLSEQUENCE(XMLTYPE(MESSAGE).EXTRACT('processEngine'))
      FROM NMS_MESSAGES WHERE OBJECT_CODE='pe_monitor' AND    ID=@WHERE:PARAM:USER_DEF:INTEGER:PARAM_PROCESS_ENGINE@)) INSTANCENAME
    ,(SELECT EXTRACTVALUE(COLUMN_VALUE, 'processEngine/@id') FROM TABLE (SELECT XMLSEQUENCE(XMLTYPE(MESSAGE).EXTRACT('processEngine'))
      FROM NMS_MESSAGES WHERE OBJECT_CODE='pe_monitor' )) ENGINE_ID 

提前致谢。

1 个答案:

答案 0 :(得分:1)

想想XQuery。我看到EXTRACTVALUE似乎@xml.values('(@node/@attr)[1]','type')EXTRACT@xml.nodes('path/path/path')

如果知道你应该完全解析的xml结构,那么你将毫无问题地转换这个查询。