Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Especifica las reglas para comparar dos cadenas de longitudes diferentes.
Sintaxis
SET EXACT ON | OFF
Argumentos
EN
Especifica que las expresiones deben coincidir con caracteres 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 del carácter hasta que se alcance el final de la expresión en el lado derecho.
Observaciones
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 prueban 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 de fecha.
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 alcancen los extremos de ambas expresiones (SET EXACT ON).
El operador == se puede usar cuando se necesita una comparación exacta de los 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).
| Comparación | = OFF EXACTO | = ON EXACTO | == ON o OFF EXACTOS |
|---|---|---|---|
| "abc" = "abc" | Partido | Partido | Partido |
| "ab" = "abc" | Sin coincidencia | Sin coincidencia | Sin coincidencia |
| "abc" = "ab" | Partido | Sin coincidencia | Sin coincidencia |
| "abc" = "ab_" | Sin coincidencia | Sin coincidencia | Sin coincidencia |
| "ab" = "ab_" | Sin coincidencia | Partido | Sin coincidencia |
| "ab_" = "ab" | Partido | Partido | Sin coincidencia |
| "" = "ab" | Sin coincidencia | Sin coincidencia | Sin coincidencia |
| "ab" = "" | Partido | Sin coincidencia | Sin coincidencia |
| "__" = "" | Partido | Partido | Sin coincidencia |
| "" = "___" | Sin coincidencia | Partido | Sin coincidencia |
| TRIM("___") = "" | Partido | Partido | Partido |
| "" = TRIM("___") | Partido | Partido | Partido |