Oharra
Orrialde honetara sartzeak baimena behar du. Saioa hasteko edo direktorioak aldatzen saia zaitezke.
Orrialde honetara sartzeak baimena behar du. Direktorioak aldatzen saia zaitezke.
Se aplica a:SQL Server
Devuelve la parte local del nombre de $arg como que xs:string es la cadena de longitud cero o tiene la forma léxica de .xs:NCName Si no se proporciona el argumento, el valor predeterminado es el nodo de contexto.
Sintaxis
fn:local-name() as xs:string
fn:local-name($arg as node()?) as xs:string
Argumentos
$arg
Nombre del nodo cuya parte de nombre local se recupera.
Comentarios
En SQL Server,
fn:local-name()sin un argumento solo se puede usar en el contexto de un predicado dependiente del contexto. En concreto, solo se puede utilizar entre corchetes ([ ]).Si se proporciona el argumento y es la secuencia vacía, la función devolverá la cadena de longitud cero.
Si el nodo de destino no tiene nombre, porque es un nodo de documento, un comentario o un nodo de texto, la función devuelve la cadena de longitud cero.
Ejemplos
En este artículo se proporcionan ejemplos de XQuery en instancias XML que se almacenan en varias columnas de tipo xml en la base de datos AdventureWorks.
A Recuperar el nombre local de un nodo específico
La consulta siguiente se especifica en una instancia XML sin tipo. La expresión de consulta, local-name(/ROOT[1]), recupera la parte de nombre local del nodo especificado.
DECLARE @x AS XML;
SET @x = '<ROOT><a>111</a></ROOT>';
SELECT @x.query('local-name(/ROOT[1])');
-- result = ROOT
La consulta siguiente se especifica en la columna Instructions, una columna xml con tipo, de la tabla ProductModel. La expresión, local-name(/AWMI:root[1]/AWMI:Location[1]), devuelve el nombre local, Location, del nodo especificado.
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. Uso de local-name sin argumento en un predicado
La consulta siguiente se especifica en la columna Instrucciones, columna xml con tipo, de la tabla ProductModel. La expresión devuelve todos los elementos secundarios del <root> elemento cuyo nombre local forma parte de QName es ."Location" La local-name() función se especifica en el predicado y no tiene argumentos El nodo de contexto lo usa la función .
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;
La consulta devuelve todos los <Location> elementos secundarios del <root> elemento .