ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Funciones y operadores de comparación


Enviado por   •  9 de Abril de 2014  •  2.853 Palabras (12 Páginas)  •  230 Visitas

Página 1 de 12

Funciones y operadores de comparación

Las operaciones de comparación dan un valor de 1 (CIERTO), 0 (FALSO), oNULL. Estas operaciones funcionan tanto para números como para cadenas de caracteres. Las cadenas de caracteres se convierten automáticamente en números y los números en cadenas cuando es necesario.

Algunas de las funciones de esta sección (tales como LEAST() yGREATEST()) retornan valores distintos a 1 (CIERTO), 0 (FALSO), o NULL. Sin embargo, el valor que retornan se basa en operaciones de comparación realizadas como describen las siguientes reglas.

MySQL compara valores usando las siguientes reglas:

• Si uno o ambos argumentos son NULL, el resultado de la comparación es NULL, excepto para el operador de comparación NULL-safe <=> .

• Si ambos argumentos en una operación de comparación son cadenas, se comparan como cadenas.

• Si ambos argumentos son enteros, se comparan como enteros.

• Los valores hexadecimales se tratan como cadenas binarias si no se comparan con un número.

• Si uno de los argumentos es una columna TIMESTAMP o DATETIME y el otro argumento es una constante, la constante se convierte en timestamp antes de realizar la comparación. Esto se hace para acercarse al comportamiento de ODBC. Esto no se hace para argumentos en IN()! Para estar seguro, siempre use cadenas completas de fechas/horas al hacer comparaciones.

• En todos los otros casos, los argumentos se comparan como números con punto flotante (reales).

Por defecto, la comparación de cadenas no es sensible a mayúsculas y usa el conjunto de caracteres actual (ISO-8859-1 Latin1 por defecto, que siempre funciona bien para inglés).

Par convertir un valor a un tipo específico para una comparación, puede usar la función CAST() . Los valores de cadenas de caracteres pueden convertirse a un conjunto de caracteres distinto usando CONVERT(). ConsulteSección 12.8, “Funciones y operadores de cast”.

Los siguientes ejemplos ilustran conversión de cadenas a números para operaciones de comparación:

mysql> SELECT 1 > '6x';

-> 0

mysql> SELECT 7 > '6x';

-> 1

mysql> SELECT 0 > 'x6';

-> 0

mysql> SELECT 0 = 'x6';

-> 1

Tenga en cuanta que cuando compara una columna de cadenas de caracteres con un número, MySQL no puede usar el índice de la columna para buscar rápidamente le valor. Si str_col es una columna de cadenas indexada, el índice no puede usarse al realizar la búsqueda en el siguiente comando:

SELECT * FROM tbl_name WHERE str_col=1;

La razón es que hay diferentes cadenas que pueden convertirse al valor 1: '1', ' 1', '1a', ...

• =

Igual:

mysql> SELECT 1 = 0;

-> 0

mysql> SELECT '0' = 0;

-> 1

mysql> SELECT '0.0' = 0;

-> 1

mysql> SELECT '0.01' = 0;

-> 0

mysql> SELECT '.01' = 0.01;

-> 1

• <=>

NULL-safe equal. Este operador realiza una comparación de igualdad como el operador =, pero retorna 1 en lugar de NULL si ambos operandos son NULL, y 0 en lugar de NULL si un operando es NULL.

mysql> SELECT 1 <=> 1, NULL <=> NULL, 1 <=> NULL;

-> 1, 1, 0

mysql> SELECT 1 = 1, NULL = NULL, 1 = NULL;

-> 1, NULL, NULL

• <>, !=

Diferente:

mysql> SELECT '.01' <> '0.01';

-> 1

mysql> SELECT .01 <> '0.01';

-> 0

mysql> SELECT 'zapp' <> 'zappp';

-> 1

• <=

Menor que o igual:

mysql> SELECT 0.1 <= 2;

-> 1

• <

Menor que:

mysql> SELECT 2 < 2;

-> 0

• >=

Mayor que o igual:

mysql> SELECT 2 >= 2;

-> 1

• >

Mayor que:

mysql> SELECT 2 > 2;

-> 0

• IS valor booleano, IS NOT valor booleano

Comprueba si un valor contra un valor booleano, donde boolean_value puede ser TRUE, FALSE, o UNKNOWN.

mysql> SELECT 1 IS TRUE, 0 IS FALSE, NULL IS UNKNOWN;

-> 1, 1, 1

mysql> SELECT 1 IS NOT UNKNOWN, 0 IS NOT UNKNOWN, NULL IS NOT UNKNOWN;

-> 1, 1, 0

IS [NOT] valor booleano sintaxis se añadió en MySQL 5.0.2.

• IS NULL, IS NOT NULL

Testea si un valor es o no NULL.

mysql> SELECT 1 IS NULL, 0 IS NULL, NULL IS NULL;

...

Descargar como (para miembros actualizados)  txt (16.8 Kb)  
Leer 11 páginas más »
Disponible sólo en Clubensayos.com