Compartir a través de


SET ANSI (Comando)

Determina cómo se hacen las comparaciones de cadenas de distintas longitudes utilizando el operador = en comandos SQL de Visual FoxPro.

SET ANSI ON | OFF

Parámetros

  • ON
    Rellena la cadena más corta con los espacios en blanco necesarios para igualar la longitud de la cadena más larga. Las dos cadenas se comparan carácter a carácter en toda su longitud. Fíjese en esta comparación:

    'Tommy' = 'Tom' 
    

    El resultado es falso (.F.) si SET ANSI está activado porque, al rellenarse, ‘Tom’ se convierte en ‘Tom ’ y las cadenas ‘Tom ’ y ‘Tommy’ no coinciden carácter a carácter.

    El operador = = utiliza este método para las comparaciones de los comandos SQL de Visual FoxPro.

  • OFF
    Especifica que la cadena más corta no se rellenará con espacios en blanco. Las dos cadenas se comparan carácter a carácter hasta llegar al final de la cadena más corta. Fíjese en esta comparación:

    'Tommy' = 'Tom'
    

    El resultado es verdadero (.T.) cuando SET ANSI está desactivado porque la comparación termina después de ‘Tom’.

Observaciones

SET ANSI determina si se rellenará con espacios en blanco la cadena más corta para hacer la comparación de una cadena SQL. SET ANSI no tiene efecto sobre el operador ==; cuando utilice el operador ==, la cadena más corta se rellenará siempre con espacios al hacer la comparación.

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

SET ANSI y el Diseñador de consultas   Visual FoxPro crea un comando SELECT - SQL en el Diseñador de consultas cuando usted crea una consulta. Al crear condiciones de unión y filtro, si elige las opciones Igual o Exactamente como, el operador = o = = se incluirá en el comando SELECT generado. La configuración de SET ANSI puede afectar al resultado de las consultas que cree y realice en el Diseñador de consultas.

Orden de las cadenas   En los comandos SQL, el orden de izquierda a derecha de las dos cadenas en una comparación es irrelevante: cambiar una cadena de un lado a otro del operador = o = = no influye en el resultado de la comparación.

Vea también

CREATE QUERY | MODIFY QUERY | SELECT – SQL | SET DATASESSION | SET EXACT