Função upper-case (XQuery)
Esta função converte cada caractere em $arg para seu equivalente em letras maiúsculas. No Microsoft Windows, a conversão binária de maiúsculas e minúsculas para pontos de código Unicode especifica como os caracteres são convertidos em letras maiúsculas. Esse padrão é diferente do mapeamento para o padrão de ponto de código padrão Unicode.
Sintaxe
fn:upper-case($arg as xs:string?) as xs:string
Argumentos
Termo |
Definição |
$arg |
O valor de cadeia de caracteres a ser convertido para letras maiúsculas. |
Comentários
Se o valor de $arg for vazio, será retornada uma cadeia de caracteres de comprimento zero.
Exemplos
A. Alterando uma cadeia de caracteres para letras maiúsculas
O exemplo a seguir altera a cadeia de caracteres de entrada 'abcDEF!@4' para letras maiúsculas.
DECLARE @x xml = N'abcDEF!@4';
SELECT @x.value('fn:upper-case(/text()[1])', 'nvarchar(10)');
B. Procurar uma cadeia de caracteres específica
Este exemplo mostra como usar a função upper-case para executar uma pesquisa sem diferenciação de maiúsculas e minúsculas.
USE AdventureWorks
GO
--WITH XMLNAMESPACES clause specifies the namespace prefix
--to use.
WITH XMLNAMESPACES ('https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelDescription' AS pd)
--The XQuery contains() function is used to determine whether
--any of the text nodes below the <Summary> element contain
--the word 'frame'. The upper-case() function is used to make
--the search case-insensitive.
SELECT ProductModelID, CatalogDescription.query('
<Prod>
{ /pd:ProductDescription/@ProductModelID }
{ /pd:ProductDescription/pd:Summary }
</Prod>
') as Result
FROM Production.ProductModel
where CatalogDescription.exist('
/pd:ProductDescription/pd:Summary//text()[
contains(upper-case(.), "FRAME")]') = 1
Conjunto de resultados.
Resultado de ProductModelID
-------------- ---------
19 <Prod ProductModelID="19">
<pd:Summary xmlns:pd="https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelDescription">
<p1:p xmlns:p1="http://www.w3.org/1999/xhtml">Nossa mountain bike top de linha para competição.
As opções para melhorar o desempenho incluem o inovador quadro HL,
suspensão dianteira muito suave e tração para todos os terrenos.
</p1:p>
</pd:Summary>
</Prod>
25 <25 <Prod ProductModelID="25">>
<pd:Summary xmlns:pd="https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelDescription">
<p1:p xmlns:p1="http://www.w3.org/1999/xhtml">Esta bicicleta é montada por campeões. Desenvolvida com a
equipe de corrida profissional Adventure Works Cycles, possui um quadro de alumínio
tratado termicamente que é extremamente leve e um guidão que proporciona controle preciso.
</p1:p>
</pd:Summary>
</Prod>