compare

Compara duas strings

Descrição

A função fn:compare devolve um destes valores:

-1 se $comparand1 for menor que $comparand2

0 se $comparand1 for igual a $comparand2

1 se $comparand1 for maior que $comparand2

Uma string é maior que outra se começar com ela e tiver caracteres a mais. Por exemplo, abc é maior que ab.

Os operadores de comparação (=, !=, <, <=, >, >=) também comparam strings, e a sintaxe pode ser mais prática. Mas, se você precisar de uma collation diferente da padrão, tem que usar fn:compare.

Parâmetros

Descrição

comparand1:string()

a primeira string a comparar

comparand2:string()

a segunda string a comparar

collation:string()

a collation usada para comparar

Exemplos

Estes exemplos supõem que não há collation padrão definida.

XPath

Resultado

Explicação

compare('a', 'b')

-1

'a' vem antes de 'b'.

compare('a', 'a')

0

As strings são iguais.

compare('b', 'a')

1

'b' vem depois de 'a'.

compare('ab', 'abc')

-1

Uma string vem antes de outra mais longa que começa com ela.

compare('a', 'B')

1

Mostra que, na collation simples por code point, o a minúsculo vem depois do B maiúsculo.

compare(upper-case('a'), upper-case('B'))

-1

Passar as duas para maiúsculas antes faz a comparação ignorar a caixa.

compare('a', ())

()

Se um dos argumentos for a sequência vazia, o resultado é a sequência vazia.

compare('Strasse', 'Straße', 'http://datypic.com/german')

0

Se a collation considerar o ß igual a dois s.

compare('a', 'b', 'FOO')

Error FOCH0002

FOO não é uma collation suportada.

Veja também