Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Заявка за данни от XML колона в SQL Server

.query винаги ще връща тип данни XML.

За да направите заявка за стойност, трябва да използвате ".value" и да посочите типа данни като втори параметър.

Използвайте това вместо това:

declare @xmlobj as xml = '<SimpleUserData xmlns="http://schemas.datacontract.org/2004/07/MyProject.CustomFx.Web" xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns:z="http://schemas.microsoft.com/2003/10/Serialization/" z:Id="1" z:Type="MyProject.CustomFx.Web.SimpleUserData" z:Assembly="MyProject.CustomFx.Web, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null">
      <BatchDescription z:Id="2">I want this value</BatchDescription>
      <BatchID>9c437c08-0f28-4c77-9a50-49a7a4e8930a</BatchID>
      <BatchTemplateID>And this value too</BatchTemplateID>
    </SimpleUserData>';

WITH XMLNAMESPACES('http://schemas.datacontract.org/2004/07/MyProject.CustomFx.Web' as x)
select
  @xmlobj.value('(/x:SimpleUserData[1]/x:BatchDescription[1])','nvarchar(max)') as value1
 ,@xmlobj.value('(/x:SimpleUserData[1]/x:BatchTemplateID[1])','nvarchar(max)') as value2;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL скрипт за намиране на външни ключове към конкретна таблица?

  2. Как да свържете всички колони в избран със SQL Server

  3. Лоша производителност на плана за изпълнение на съхранената процедура на SQL - подслушване на параметри

  4. Как да конфигурирам pyodbc да приема правилно низове от SQL Server с помощта на freeTDS и unixODBC?

  5. Вмъкнете картина в полето за изображение на SQL Server 2005, като използвате само SQL