sql >> Database teknologi >  >> RDS >> Sqlserver

Forespørger om XML-datatyper, der har xmlns-nodeattributter

Hvis dit XML-dokument har XML-navneområder, skal du overveje dem i dine forespørgsler!

Så hvis din XML ligner dit eksempel, skal du bruge:

-- define the default XML namespace to use
;WITH XMLNAMESPACES(DEFAULT 'bar')
SELECT   
    x.u.value('Name[1]', 'varchar(100)') as Name
from 
    @XMLDOC.nodes('/Feed/Product') x(u)
 

Eller hvis du foretrækker at have eksplicit kontrol over, hvilket XML-navneområde der skal bruges (f.eks. hvis du har flere), skal du bruge XML-navneområdepræfikser:

-- define the XML namespace ;WITH XMLNAMESPACES('bar' as b) SELECT x.u.value('b:Name[1]', 'varchar(100)') as Name from @XMLDOC.nodes('/b:Feed/b:Product') x(u)

  1. Konverter Unix-tidsstempel til menneskelig læsbar dato ved hjælp af MySQL

  2. Mysql datetime-indekset virker ikke, mens du bruger 'like'

  3. N. maks. løn i Oracle

  4. Hvordan får jeg alle kombinationer af data fra en MySQL-tabel?