Compartir a través de


Comando exacto de conjunto

Especifica las reglas para comparar dos cadenas de longitudes diferentes.

Sintaxis

  
SET EXACT ON | OFF  

Argumentos

ACTIVAR
Especifica que las expresiones deben coincidir con el carácter para que el carácter sea equivalente. Los espacios en blanco finales de las expresiones se omiten para la comparación. Para la comparación, el más corto de las dos expresiones se rellena a la derecha con espacios en blanco para que coincidan con la longitud de la expresión más larga.

Apagado
(Valor predeterminado). Especifica que, para ser equivalente, las expresiones deben coincidir con el carácter para el carácter hasta que se alcance el final de la expresión en el lado derecho.

Comentarios

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

Comparaciones de cadenas

Visual FoxPro tiene dos operadores relacionales que comprueban la igualdad.

El operador = realiza una comparación entre dos valores del mismo tipo. Este operador es adecuado para comparar datos lógicos, numéricos, numéricos y lógicos.

Sin embargo, al comparar expresiones de caracteres con el operador = , es posible que los resultados no sean exactamente lo que espera. Las expresiones de caracteres se comparan con caracteres de izquierda a derecha hasta que una de las expresiones no es igual a la otra, hasta que se alcanza el final de la expresión en el lado derecho del operador = (SET EXACT OFF), o hasta que se alcanza el final de ambas expresiones (SET EXACT ON).

El operador == se puede usar cuando se necesita una comparación exacta de datos de caracteres. Si se comparan dos expresiones de caracteres con el operador ==, las expresiones de ambos lados del operador == deben contener exactamente los mismos caracteres, incluidos los espacios en blanco, para considerarse iguales. La configuración SET EXACT se omite cuando se comparan cadenas de caracteres mediante ==.

En la tabla siguiente se muestra cómo afecta la elección del operador y la configuración SET EXACT a las comparaciones. (Un carácter de subrayado representa un espacio en blanco).

De comparación = EXACT OFF = ON EXACTO == ON o OFF EXACTOS
"abc" = "abc" Match Match Match
"ab" = "abc" Ninguna coincidencia Ninguna coincidencia Ninguna coincidencia
"abc" = "ab" Match Ninguna coincidencia Ninguna coincidencia
"abc" = "ab_" Ninguna coincidencia Ninguna coincidencia Ninguna coincidencia
"ab" = "ab_" Ninguna coincidencia Match Ninguna coincidencia
"ab_" = "ab" Match Match Ninguna coincidencia
"" = "ab" Ninguna coincidencia Ninguna coincidencia Ninguna coincidencia
"ab" = "" Match Ninguna coincidencia Ninguna coincidencia
"__" = "" Match Match Ninguna coincidencia
"" = "___" Ninguna coincidencia Match Ninguna coincidencia
TRIM("___") = "" Match Match Match
"" = TRIM("___") Match Match Match

Consulte también

Comando de ANSI SET