Funções de teste
Uma função de teste realiza comparações de dados. Use uma função de teste para identificar o tipo de dados de um valor ou determinar se um valor existe. Você pode usar funções de teste com todos os tipos de dados .
CompareDictionary
CompareDictionary(a,b)
: compara 2 cadeias de caracteres, sem diferenciar maiúsculas de minúsculas, e compara, em ordem numérica, texto que parece conter números. A função retorna -1 se a < b, 0 se a==b e 1 se a > b.
Essa função não exibe exatamente a mesma ordem de uma comparação de dicionário, pois ela não trata os sinais diacríticos da mesma forma que a ferramenta Ordenar os trata quando está configurada para fazer uma ordenação de dicionário usando as convenções de um idioma específico.
Exemplo
CompareDictionary("apples","bananas")
retorna -1.
CompareDictionary("APPLES","bananas")
retorna -1.
CompareDictionary("apples","BANANAS")
retorna -1.
CompareDictionary("Cherries","Bananas")
retorna 1.
CompareDictionary("Bananas","bananas")
retorna 0.
CompareDictionary("2","10")
retorna -1 (2 é menor que 10, mesmo que o caractere "2" seja maior que o caractere "1").
CompareDictionary("minus -2","minus -10")
retorna 1 (-2 é maior que -10. Os sinais de menos são reconhecidos somente no início ou após um espaço em branco).
CompareDictionary("minus-2","minus-10")
retorna -1 (2 é menor que 10. O sinal de menos, como não está após um espaço, não foi considerado como parte do número).
CompareDictionary("pi 3.14","pi 6.28e-1")
retorna 1 (a função reconhece a sintaxe de número de ponto flutuante, e 3,14 é maior que 0,628).
CompareDictionary("12.00","12.0")
retorna 1 (quando os números têm o mesmo valor, a cadeia de dígitos mais longa é considerada maior).
CompareDictionary("a", "À")
retorna -1.
CompareDictionary("n","ñ")
retorna -1 (no alfabeto latino, letras com sinais são maiores do que letras sem sinais).
CompareDictionary("o","ñ")
retorna -1 (em uma comparação do dicionário espanhol, a letra Ñ deve ser menor do que a letra O, mas essa não é uma comparação do dicionário linguístico).
CompareDictionary("ñ","Ñ")
retorna 0 (a comparação entre caracteres com sinais também não diferencia maiúsculas de minúsculas).
CompareDigits
CompareDigits(a, b, nNumDigits)
: compara 2 números e determina se eles são iguais em relação ao número de dígitos fornecido (nNumDigits).
A comparação encontra a diferença entre os números e informa que A e B são iguais quando o primeiro dígito da diferença está a nNumDigits ou mais casas decimais à direita do primeiro dígito do maior entre A e B.
O parâmetro
nNumDigits
não pode ser nulo e deve estar entre 1 e 19. Caso contrário, ocorre um erro. Se um número não inteiro for fornecido, ele será arredondado para o inteiro mais próximo (nNumDigits pode estar entre 0,5 e 19,499).
Exemplo
CompareDigits(12345, 12444, 3)
retorna verdadeiro (porque a diferença é 99, e seu dígito inicial está 3 casas à direita do dígito inicial de A).
CompareDigits(12345, 12445, 3)
retorna falso (porque a diferença é 100, e seu dígito inicial está apenas 2 casas à direita do dígito inicial de A).
CompareDigits(12.345, 12.347, 3)
retorna verdadeiro (porque a diferença é 0,002, e seu dígito inicial está 4 casas à direita do dígito inicial de A).
CompareDigits(12.345, 12.435, 3)
retorna verdadeiro (porque a diferença é 0,09, e seu dígito inicial está 3 casas à direita do dígito inicial de A).
CompareDigits( .91234, .91334, 3)
retorna falso (porque a diferença é 0,001, e seu dígito inicial está apenas 2 casas à direita do dígito inicial de A).
CompareEpsilon
CompareEpsilon(a, b, epsilon)
: compara 2 números de ponto flutuante e retorna verdadeiro se a diferença for menor que epsilon.
Exemplo
CompareEpsilon(123.456789101112, 123.456789101114, 0.0001)
retorna verdadeiro.
CompareEpsilon(123.456, 123.456789101112, 0.0001)
retorna falso.
EqualStrings
EqualStrings(a,b)
: compara a cadeia de caracteres (a) à cadeia de caracteres (b) para determinar se elas são uma correspondência exata. A função retorna verdadeiro se todos os caracteres em ambas as cadeias forem idênticos, e falso se um ou mais caracteres não forem idênticos.
Observe que essa função diferencia maiúsculas de minúsculas.
Exemplo
EqualStrings('Hello','Hello')
retorna verdadeiro.
EqualStrings('Hello','hello')
retorna falso.
EqualStrings('happy birthday','happy birthday')
retorna verdadeiro.
EqualStrings('happy birthday','happy birthday')
retorna falso.
EqualStrings('Happy 10th birthday!', 'Happy 10th birthday')
retorna falso.
EqualStrings('Hello','')
retorna falso.
EqualStrings('Hello', Null)
retorna falso.
EqualStrings(Null(), Null())
retorna verdadeiro.
EqualStrings('Hello')
retorna um erro. A função requer exatamente dois parâmetros.
IsEmpty
IsEmpty(v)
: testa se v é nulo (NULL) ou igual a "".
Exemplo
Nome (v) | IsEmpty |
---|---|
John | Falso |
Verdadeiro | |
Mary | Falso |
[Null] | Verdadeiro |
IsInteger
IsInteger(v)
: testa se v contém um valor que pode ser convertido em um número inteiro. Caso afirmativo, retorna verdadeiro.
Seção
Valor (v) | IsInteger |
---|---|
1 | Verdadeiro |
1.23 | Falso |
B | Falso |
IsLowerCase
IsLowerCase(String)
: retorna verdadeiro se todos (um ou mais) caracteres alfabéticos em uma cadeia forem minúsculos e falso se um ou mais caracteres alfabéticos forem maiúsculos. A função ignora caracteres não alfabéticos. Observe que essa função só se aplica a caracteres que apresentam distinção entre maiúsculas e minúsculas e pode não se aplicar a todos os idiomas.
Essa função funciona apenas com dados do tipo cadeia de caracteres.
Essa função retorna verdadeiro quando há pelo menos um caractere em minúsculas e nenhum caractere em maiúsculas.
Essa função retorna verdadeiro apenas para caracteres que apresentam distinção entre maiúsculas e minúsculas. Pode não ser aplicável a caracteres em todos os idiomas (por exemplo, japonês).
Se você passar dados numéricos como uma cadeia de caracteres, a função retornará falso porque, neste caso, não há caracteres alfabéticos para avaliar. A cadeia de caracteres deve conter pelo menos um caractere alfabético para que a função a considere como minúscula.
Essa função ignora espaços, pois são caracteres não alfabéticos. Se a expressão contiver apenas espaços, ela será avaliada como falso porque os espaços não apresentam distinção entre maiúsculas e minúsculas.
Se você passar um valor nulo, a função retornará falso.
Exemplo
IsLowerCase('nicole')
retorna verdadeiro.
IsLowerCase('happy birthday!')
retorna verdadeiro.
IsLowerCase('niCOLE')
retorna falso.
IsLowerCase('2023')
retorna falso. A função ignora caracteres não alfabéticos, por isso avalia esse valor como um campo vazio, por exemplo: ('').
IsLowerCase(nicole)
retorna um erro.
IsLowerCase(2023)
retorna um erro.
IsLowerCase(null)
retorna falso.
IsLowerCase(' ')
retorna falso. Os espaços não apresentam distinção entre maiúsculas e minúsculas.
IsNull
IsNull(v)
: testa se v é nulo. Retorna verdadeiro se v for nulo; caso contrário, retorna falso.
Para preencher uma linha com um valor NULO, use a função
NULL()
.
Exemplo
Nome (v) | IsNull |
---|---|
John | Falso |
[Null] | Verdadeiro |
Mary | Falso |
IsNumber
IsNumber(v)
: testa se o tipo de campo para v é numérico ou não.
IsSpatialObj
IsSpatialObj(v)
: testa se o tipo de campo para v é de objeto geográfico ou não.
IsString
IsString(v)
: testa se o tipo de campo para v é de cadeia de caracteres ou não.
IsUpperCase
IsUpperCase(String)
: retorna verdadeiro se todos (um ou mais) caracteres alfabéticos em uma cadeia forem maiúsculos e falso se um ou mais caracteres alfabéticos forem minúsculos. A função ignora caracteres não alfabéticos. Observe que essa função só se aplica a caracteres que apresentam distinção entre maiúsculas e minúsculas e pode não se aplicar a todos os idiomas.
Essa função funciona apenas com dados do tipo cadeia de caracteres.
Essa função retorna verdadeiro quando há pelo menos um caractere em maiúsculas e nenhum caractere em minúsculas.
Essa função retorna verdadeiro apenas para caracteres que apresentam distinção entre maiúsculas e minúsculas. Pode não ser aplicável a caracteres em todos os idiomas (por exemplo, japonês).
Se você passar dados numéricos como uma cadeia de caracteres, a função retornará falso porque, neste caso, não há caracteres alfabéticos para avaliar. A cadeia de caracteres deve conter pelo menos um caractere alfabético para que a função a considere como maiúscula.
Essa função ignora espaços, pois são caracteres não alfabéticos. Se a expressão contiver apenas espaços, ela será avaliada como falso porque os espaços não apresentam distinção entre maiúsculas e minúsculas.
Se você passar um valor nulo, a função retornará falso.
Exemplo
IsUpperCase('NICOLE')
retorna verdadeiro.
IsUpperCase('HAPPY BIRTHDAY!')
retorna verdadeiro.
IsUpperCase('NicOLE')
retorna falso.
IsUpperCase('2023')
retorna falso. A função ignora caracteres não alfabéticos, por isso avalia esse valor como um campo vazio, por exemplo: ('').
IsUpperCase(NICOLE)
retorna um erro.
IsUpperCase(2023)
retorna um erro.
IsUpperCase(null)
retorna falso.
IsUpperCase(' ')
retorna falso. Os espaços não apresentam distinção entre maiúsculas e minúsculas.