Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
Van toepassing op:SQL Server
Retourneert het lokale deel van de naam van $arg als een tekenreeks xs:string met de lengte nul of de lexicale vorm van een xs:NCName. Als het argument niet is opgegeven, is de standaardinstelling het contextknooppunt.
Syntaxis
fn:local-name() as xs:string
fn:local-name($arg as node()?) as xs:string
Arguments
$arg
Knooppuntnaam waarvan het onderdeel lokale naam wordt opgehaald.
Opmerkingen
In SQL Server
fn:local-name()kan zonder argument alleen worden gebruikt in de context van een contextafhankelijk predicaat. Het kan met name alleen tussen vierkante haken ([ ]) worden gebruikt.Als het argument wordt opgegeven en de lege reeks is, retourneert de functie de tekenreeks met lengte nul.
Als het doelknooppunt geen naam heeft, omdat het een documentknooppunt, een opmerking of een tekstknooppunt is, retourneert de functie de tekenreeks met lengte nul.
Voorbeelden
Dit artikel bevat XQuery-voorbeelden voor XML-exemplaren die zijn opgeslagen in verschillende xml-typekolommen in de AdventureWorks-database .
Eén. Lokale naam van een specifiek knooppunt ophalen
De volgende query wordt opgegeven voor een niet-getypt XML-exemplaar. Met de query-expressie wordt local-name(/ROOT[1])het lokale naamgedeelte van het opgegeven knooppunt opgehaald.
DECLARE @x AS XML;
SET @x = '<ROOT><a>111</a></ROOT>';
SELECT @x.query('local-name(/ROOT[1])');
-- result = ROOT
De volgende query wordt opgegeven voor de kolom Instructies, een getypte XML-kolom, van de tabel ProductModel. De expressie, local-name(/AWMI:root[1]/AWMI:Location[1])retourneert de lokale naam, Locationvan het opgegeven knooppunt.
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. Lokale naam zonder argument gebruiken in een predicaat
De volgende query wordt opgegeven voor de kolom Instructies, de getypte XML-kolom , van de tabel ProductModel. De expressie retourneert alle element onderliggende elementen van het element waarvan de <root> lokale naam deel uitmaakt van de QName."Location" De local-name() functie wordt opgegeven in het predicaat en heeft geen argumenten Het contextknooppunt wordt gebruikt door de functie.
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;
De query retourneert alle <Location> onderliggende elementen van het <root> element.