logo

MySQL IFNULL()

Aquesta secció us ajuda a conèixer la funció MySQL IFNULL(). La funció IFNULL és una part de la funció de flux de control MySQL utilitzada per gestionar valors NULL.

La funció IFNULL accepta dues expressions, i si la primera ho és no nul·la , retorna els primers arguments. Si la primera expressió és nul , retorna el segon argument. Aquesta funció retorna un valor de cadena o numèric, depenent del context on s'utilitzi.

Sintaxi

Podem utilitzar la funció IFNULL amb la sintaxi següent:

 IFNULL (Expression1, Expression2) 

Retorna expression1 quan l'expression1 no és nul·la. En cas contrari, retornarà l'expressió 2.

Paràmetres

Paràmetre Requisit Descripcions
Expressió 1 Obligatori Aquesta expressió s'utilitza per comprovar si és NULL o no.
Expressió 2 Obligatori Tornarà quan l'expressió 1 sigui NULL.

Suport a la versió MySQL

La funció IFNULL pot suportar les següents versions de MySQL:

  • MySQL 8.0
  • MySQL 5.7
  • MySQL 5.6
  • MySQL 5.5
  • MySQL 5.1
  • MySQL 5.0
  • MySQL 4.1
  • MySQL 4.0

Entenem la funció MySQL IFNULL() amb els exemples següents. Podem utilitzar la funció IFNULL amb el SELECCIONA declaració directament.

Exemple 1

 SELECT IFNULL(0,5); 

A la funció anterior, la instrucció MySQL verifica la primera expressió. Si la primera expressió no és NULL, retornarà la primera expressió, que és zero.

Sortida:

 0 

Exemple 2

 SELECT IFNULL('Hello', 'javaTpoint'); 

La sentència de MySQL anterior comprova la primera expressió. Si la primera expressió no és NULL, retornarà la primera expressió, que sí 'Hola' valor.

Sortida:

 Hello 

Exemple 3

 SELECT IFNULL(NULL,5); 

La següent instrucció MySQL verifica la primera expressió. Si la primera expressió no és NULL, retornarà la primera expressió. En cas contrari, retornarà la segona expressió, que és cinc (5).

Sortida:

 5 

Exemple 4

Aquí, anem a crear una taula 'contactes_estudiants' i realitzeu la funció IFNULL().

 CREATE TABLE `student_contacts` ( `studentid` int unsigned NOT NULL AUTO_INCREMENT, `contactname` varchar(45) NOT NULL, `cellphone` varchar(20) DEFAULT NULL, `homephone` varchar(20) DEFAULT NULL, ); 

Ara, cal inserir dades en una taula. Després d'inserir els valors a la taula, executeu la consulta següent.

 SELECT contactname, cellphone, homephone FROM student_contacts; 

Mostrarà la sortida que conté totes les files i columnes. Aquí, podem veure que alguns dels contactes només tenen un telèfon mòbil o un número de telèfon de casa.

MySQL IFNULL

A la sortida anterior, obtindrem el nom de tots els contactes, el telèfon mòbil meteorològic i el número de telèfon de casa està disponible o no. Per tant, en aquest cas, la funció IFNULL() té un paper important.

Ara, executeu la següent consulta MySQL. Aquesta declaració retorna el telèfon de casa número si el mòbil és NULL.

 SELECT contactname, IFNULL(cellphone, homephone) phone FROM student_contact; 

Sortida:

Quan la instrucció MySQL anterior s'executi correctament, donarà la següent sortida.

MySQL IFNULL

Nota: hauríeu d'evitar l'ús de la funció IFNULL() a la clàusula WHERE perquè aquesta funció redueix el rendiment de la consulta.