Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Especifica as regras para comparar duas cadeias de caracteres de comprimentos diferentes.
Sintaxe
SET EXACT ON | OFF
Argumentos
LIGADO
Especifica que as expressões devem corresponder ao caractere para que o caractere seja equivalente. Todos os espaços em branco à direita nas expressões são ignorados para a comparação. Para a comparação, o menor das duas expressões é adicionado à direita com espaços em branco para corresponder ao comprimento da expressão mais longa.
DESLIGADO
(Padrão.) Especifica que, para serem equivalentes, as expressões devem corresponder ao caractere para o caractere até que o final da expressão no lado direito seja atingido.
Observações
A configuração SET EXACT não terá efeito se ambas as cadeias de caracteres tiverem o mesmo comprimento.
Comparações de cadeia de caracteres
O Visual FoxPro tem dois operadores relacionais que testam a igualdade.
O operador = executa uma comparação entre dois valores do mesmo tipo. Esse operador é adequado para comparar dados lógicos, numéricos, numéricos e de data.
No entanto, quando você compara expressões de caractere com o operador =, os resultados podem não ser exatamente o que você espera. As expressões de caractere são comparadas com o caractere da esquerda para a direita até que uma das expressões não seja igual à outra, até que o final da expressão no lado direito do operador = seja atingido (SET EXACT OFF) ou até que as extremidades de ambas as expressões sejam alcançadas (SET EXACT ON).
O operador == pode ser usado quando uma comparação exata de dados de caractere é necessária. Se duas expressões de caractere forem comparadas com o operador == , as expressões em ambos os lados do operador == deverão conter exatamente os mesmos caracteres, incluindo espaços em branco, para serem consideradas iguais. A configuração SET EXACT é ignorada quando cadeias de caracteres são comparadas usando ==.
A tabela a seguir mostra como a escolha do operador e a configuração SET EXACT afetam as comparações. (Um sublinhado representa um espaço em branco.)
Comparação | = EXATAMENTE DESATIVADO | = EXATO EM | == EXATA ATIVADA OU DESATIVADA |
---|---|---|---|
"abc" = "abc" | Partida | Partida | Partida |
"ab" = "abc" | Nenhuma correspondência | Nenhuma correspondência | Nenhuma correspondência |
"abc" = "ab" | Partida | Nenhuma correspondência | Nenhuma correspondência |
"abc" = "ab_" | Nenhuma correspondência | Nenhuma correspondência | Nenhuma correspondência |
"ab" = "ab_" | Nenhuma correspondência | Partida | Nenhuma correspondência |
"ab_" = "ab" | Partida | Partida | Nenhuma correspondência |
"" = "ab" | Nenhuma correspondência | Nenhuma correspondência | Nenhuma correspondência |
"ab" = "" | Partida | Nenhuma correspondência | Nenhuma correspondência |
"__" = "" | Partida | Partida | Nenhuma correspondência |
"" = "___" | Nenhuma correspondência | Partida | Nenhuma correspondência |
TRIM("___") = "" | Partida | Partida | Partida |
"" = TRIM("___") | Partida | Partida | Partida |