Yerel adı işlev (XQuery)
Yerel adı kısmını verir $argolarak ya da sıfır uzunluğunda bir dize olacaktır ya da sözlü bir XS şeklinde olacak bir XS. Bağımsız değişkeni sağlanmazsa, varsayılan bağlam düğümdür.
Sözdizimi
fn:local-name() as xs:string
fn:local-name($arg as node()?) as xs:string
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 yerel adı bölümü alınır.
Açıklamalar
SQL Server, fn:local-name() olmadan bağımsız değişken yalnızca içerik bağımlı yüklemi içeriğinde kullanılabilir. Özellikle, bu yalnızca parantez içinde kullanılabilir ([ ]).
Argüman sağlanır ve boş sırası ise, sıfır uzunluklu dize işlev verir.
Hedef düğüm adı, varsa, belge düğümü, yorum veya metin düğümü olduğundan, sıfır uzunluklu dize işlev verir.
Örnekler
Bu konu çeşitli depolanan xml örnekleri karşı XQuery örnekler sağlar xml AdventureWorks veritabanındaki sütunları yazın. Bu sütunlar genel bakış için bkz: DEL - xml Data Type Representation in the AdventureWorks2008R2 Database.
A.Belirli bir düğüm yerel adını al
Aşağıdaki sorgu yazılmamış xml örneği karşı 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
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ütunu karşı bir yazılı xml, ProductModel tablo belirtildi. İfade, local-name(/AWMI:root[1]/AWMI:Location[1]), yerel 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
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.Yerel adı bağımsız değişkeni olmadan bir yüklemi kullanma
Aşağıdaki sorgu yazdığınız yönerge sütun karşı belirtilen xml ProductModel tablo sütun. Bu ifade tüm öğesi alt döndürür <root> öğesi olan yerel ad QName parçasıdır "Yer". Local-name() işlevi belirtilen yüklemi olarak ve içerik düğümü işlevi tarafından kullanılan bağımsız değişkenler vardır.
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
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 döndürür <Location> öğesi çocuklar <root> öğesi.