Share via


Comando SET ANSI

Determina como as comparações entre cadeias de caracteres de comprimentos diferentes são feitas com o operador = nos comandos sql do Visual FoxPro.

Sintaxe

  
SET ANSI ON | OFF  

Argumentos

ATIVADO
(Padrão para o driver; o padrão para Visual FoxPro é OFF.) Preenche a cadeia de caracteres mais curta com os espaços em branco necessários para torná-la igual ao comprimento da cadeia de caracteres mais longa. Em seguida, as duas cadeias de caracteres são comparadas com caracteres para seus comprimentos inteiros. Considere esta comparação:

'Tommy' = 'Tom'  

O resultado será False (.F.) se SET ANSI estiver ativado, porque quando acolchoada, 'Tom' se tornará 'Tom' e as cadeias de caracteres 'Tom' e 'Tommy' não correspondem ao caractere de caractere.

O operador == usa esse método para comparações em comandos SQL do Visual FoxPro.

OFF
Especifica que a cadeia de caracteres mais curta não será preenchida com espaços em branco. As duas cadeias de caracteres são comparadas para caracteres até que o final da cadeia de caracteres mais curta seja atingido. Considere esta comparação:

'Tommy' = 'Tom'  

O resultado é True (.T.) quando SET ANSI está desativado, porque a comparação é interrompida após 'Tom'.

Comentários

SET ANSI determina se o menor de duas cadeias de caracteres é preenchido com espaços em branco quando uma comparação de cadeia de caracteres SQL é feita. SET ANSI não tem efeito sobre o operador == ; quando você usa o operador == , a cadeia de caracteres mais curta é sempre preenchida com espaços em branco para a comparação.

Ordem da cadeia de caracteres

Em comandos SQL, a ordem da esquerda para a direita das duas cadeias de caracteres em uma comparação é irrelevantese enfeitiçando uma cadeia de caracteres de um lado do operador = ou == para o outro não afeta o resultado da comparação.

Consulte Também

SELECT – comando SQL
Comando SET EXACT