Compartir a través de


SET EXACT (Comando)

Especifica las reglas que utiliza Visual FoxPro al comparar dos cadenas de diferente longitud.

SET EXACT ON | OFF

Parámetros

  • ON
    Especifica que las expresiones deben coincidir carácter a carácter para que se consideren equivalentes. La comparación pasa por alto los espacios en blanco finales que puedan existir en las expresiones. Para la comparación, la más corta de las dos expresiones se rellena por la derecha con espacios en blanco hasta igualar la longitud de la expresión más larga.
  • OFF
    (Predeterminado) Especifica que, para que se consideren equivalentes, las expresiones deben coincidir carácter a carácter hasta llegar al final de la expresión del lado derecho.

Observaciones

La configuración de SET EXACT no tiene efecto si ambas cadenas tienen la misma longitud.

Comparaciones de cadenas

Visual FoxPro tiene dos operadores relacionales para probar la igualdad. El operador = realiza una comparación entre dos valores del mismo tipo. Este operador es apropiado para comparar datos de tipo Character, Numeric, Date y Logical.

Sin embargo, cuando compara expresiones de tipo Character con el operador =, el resultado puede no ser exactamente el que usted espera. Las expresiones Character se comparan carácter a carácter de izquierda a derecha hasta que una de las los expresiones no es igual a la otra, hasta que se llega al final de la expresión que hay al lado derecho del operador = (SET EXACT OFF) o hasta que se llega al final de las dos expresiones (SET EXACT ON).

El operador = = puede utilizarse cuando se necesita una comparación exacta de datos de tipo Character. Al comparar dos expresiones de caracteres con el operador ==, las expresiones a ambos lados de dicho operador se consideran iguales si contienen exactamente los mismos caracteres, incluidos los espacios en blanco. La configuración de SET EXACT se pasa por alto al comparar cadenas de caracteres con el operador ==.

La tabla siguiente muestra cómo afecta a las comparaciones la elección del operador y la configuración de SET EXACT. (Los subrayados representan espacios en blanco.)

Comparación = EXACT OFF = EXACT ON == EXACT ON o OFF
“abc” = “abc” Coincide Coincide Coincide
“ab” = “abc” No coincide No coincide No coincide
“abc” = “ab” Coincide No coincide No coincide
“abc” = “ab_” No coincide No coincide No coincide
“ab” = “ab_” No coincide Coincide No coincide
“ab_” = “ab” Coincide Coincide No coincide
“” = “ab” No coincide No coincide No coincide
“ab” = “” Coincide No coincide No coincide
"__" = "" Coincide Coincide No coincide
"" = "___" No coincide Coincide No coincide
TRIM(“___”) = “” Coincide Coincide Coincide
“” = TRIM(“___”) Coincide Coincide Coincide

SET EXACT tiene como alcance la sesión actual de datos.

Vea también

SET ANSI | = (Comando) | ON KEY = (Comando)