Aracılığıyla paylaş


yerel ad işlev (XQuery)

Adının yerel bölümünü döndürür. $arg bir xs:string olarak ya da sıfır uzunluklu bir dize olması veya bir xs:NCName sözlü biçiminde olacaktır. Bağımsız değişken belirtilmezse, varsayılan içerik düğümdür.

Sözdizimi

fn:local-name() as xs:string
fn:local-name($arg as node()?) as xs:string

Bağımsız değişkenler

  • $arg
    Düğüm adı olan bir yerel ad bölümü alınır.

Açıklamalar

  • SQL Server'da fn:local-name() bir bağımsız değişken olmadan, yalnızca bir içerik bağımlı yüklemi içeriğinde kullanılabilir.Özellikle, yalnızca köşeli ayraç () içinde kullanılabilir[ ]).

  • işlev, bağımsız değişken sağlanan sıra boş ise, sıfır uzunluklu dize döndürür.

  • Hedef düğüm, bir belge düğümü, açıklama veya bir metin düğümü olduğundan, adı yoksa, işlev, sıfır uzunluklu bir dize döndürür.

Örnekler

Bu konu, çeşitli içinde depolanan XML örnekleri karşı XQuery örnekler sağlar. XML türü sütunlarındaki AdventureWorks veritabanındaki.Konusuna genel bir bakış bu sütunların her biri için bkz: XML veri türü temsili AdventureWorks veritabanındaki.

C.Belirli bir düğümdeki yerel adını Al

Aşağıdaki sorgu karşı türlenmemiş XML örnek belirtildi.Sorgu ifadesi, local-name(/ROOT[1]), belirtilen düğüm yerel ad parçası alır.

declare @x xml
set @x='<ROOT><a>111</a></ROOT>'
SELECT @x.query('local-name(/ROOT[1])')
-- result = ROOT

Aşağıdaki sorgu yönergeleri sütun karşı yazılı xml sütunu, the ProductModel belirtilen tablo.ifade local-name(/AWMI:root[1]/AWMI:Location[1]), yerel bir ad verir. Location, belirtilen düğüm.

SELECT Instructions.query('
declare namespace AWMI="https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelManuInstructions" ;
     local-name(/AWMI:root[1]/AWMI:Location[1])') as Result
FROM Production.ProductModel
WHERE ProductModelID=7
-- result = Location

b.Bağımsız değişken olmadan yerel ad bir yüklemi kullanma

Aşağıdaki sorgu yazdınız yönergeleri sütun karşı belirtildi XML sütunu, tablonun ProductModel.Ifade, tüm öğesi alt döndürür <root>öğesi, yerel ad QName "Konum" parçasıdır. The local-name() işlev is specifed in the predicate and it has no arguments The context node is used by the işlev.

SELECT Instructions.query('
declare namespace AWMI="https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelManuInstructions" ;
  /AWMI:root//*[local-name() = "Location"]') as Result
FROM Production.ProductModel
WHERE ProductModelID=7

Sorgu tümünü verir <Location> öğe alt <root> öğe.