Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
Vrátí místní část názvu $arg jako xs:string řetězec nulové délky nebo má lexikální formu xs:NCName. Pokud argument není zadaný, výchozí je kontextový uzel.
Syntaxe
fn:local-name() as xs:string
fn:local-name($arg as node()?) as xs:string
Arguments
$arg
Název uzlu, jehož část s místním názvem je načtena.
Poznámky
V SQL Serveru
fn:local-name()lze bez argumentu použít pouze v kontextu predikátu závislého na kontextu. Konkrétně se dá použít pouze uvnitř hranatých závorek ([ ]).Pokud je argument zadán a je prázdná sekvence, vrátí funkce řetězec nulové délky.
Pokud cílový uzel nemá žádný název, protože se jedná o uzel dokumentu, komentář nebo textový uzel, vrátí funkce řetězec nulové délky.
Examples
Tento článek obsahuje příklady XQuery pro instance XML, které jsou uloženy v různých sloupcích typu XML v databázi AdventureWorks.
A. Načtení místního názvu konkrétního uzlu
Následující dotaz je určen pro netypovou instanci XML. Výraz dotazu local-name(/ROOT[1])načte část místního názvu zadaného uzlu.
DECLARE @x AS XML;
SET @x = '<ROOT><a>111</a></ROOT>';
SELECT @x.query('local-name(/ROOT[1])');
-- result = ROOT
Následující dotaz je určen pro sloupec Pokyny, typ xml sloupec tabulky ProductModel. Výraz vrátí local-name(/AWMI:root[1]/AWMI:Location[1])místní název Locationzadaného uzlu.
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. Použití místního názvu bez argumentu v predikátu
Následující dotaz je určen pro sloupec Pokyny, typ xml sloupec tabulky ProductModel. Výraz vrátí všechny podřízené prvky elementu<root>, jehož místní název část QName je ."Location" Funkce local-name() je zadaná v predikátu a nemá žádné argumenty. Funkce ho používá.
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;
Dotaz vrátí všechny podřízené <Location> prvky elementu <root> .