Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 15127|Respuesta: 0

[Fuente] Uso de IFNULL, NULLIF e ISNULL

[Copiar enlace]
Publicado en 11/5/2018 13:37:59 | | |
El uso de isnull, ifnull, nullif es el siguiente:

Uso de isnull (expr):Si expr es nulo, entonces isnull() devuelve un valor de 1, de lo contrario devuelve 0.
mysql> select isnull(1+1);
-> 0
mysql> select isnull(1/0);
-> 1
Usar = para comparaciones de valores nulos suele ser incorrecto.

La función isnull() comparte algunas de las mismas características que el operador de comparación es nulo. Mira la nota sobre es nula.

Uso de IFNULL (expr1,expr2):

Si expr1 no es NULL, el valor de retorno de IFNULL() es expr1;
De lo contrario, devuelve un valor de expr2. IFNULL() devuelve un número o una cadena, dependiendo del contexto en el que se use.

mysql> SELECT IFNULL(1,0);
-> 1
mysql> SELECT IFNULL(NULL,10);
-> 10
mysql> SELECT IFNULL(1/0,10);
-> 10
mysql> SELECT
IFNULL(1/0, 'sí');

-> 'sí'

El valor de resultado por defecto para IFNULL(expr1,expr2) es la más "genérica" de las dos expresiones, en el orden de STRING, REAL o
ENTERO。 Supongamos una situación en la que una tabla basada en expresiones, o MySQL, debe almacenar el valor de retorno de IFNULL() en una tabla temporal en la memoria interna:
CREATE TABLE tmp SELECT IFNULL(1,'test') AS test;
En este ejemplo, la columna de prueba es de tipo CHAR(4).
Uso de NULLIF(expr1,expr2):  
Si expr1
= expr2 es verdadero, entonces el valor de retorno es NULL, de lo contrario el valor de retorno es expr1. Esto es lo mismo que CASO CUANDO expr1 = expr2
Entonces NULL ELSE expr1 END es igual.
mysql> SELECT
NULLIF(1,1);

-> NULL
mysql> SELECT NULLIF(1,2);
-> 1
Si los parámetros no son iguales, entonces MySQL obtiene el valor expr1 dos veces.






Anterior:Prueba de rendimiento de hardware de CPU de servidor
Próximo:Al usar MySQL para procesar más de un millón de niveles de datos, hay algunos sentidos comunes que deben conocerse
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com