logo

MySQL IFNULL()

Esta seção ajuda você a aprender sobre a função MySQL IFNULL(). A função IFNULL faz parte da função de fluxo de controle do MySQL usada para lidar com valores NULL.

A função IFNULL aceita duas expressões, e se a primeira expressão for não nulo , ele retorna os primeiros argumentos. Se a primeira expressão for nulo , ele retorna o segundo argumento. Esta função retorna uma string ou um valor numérico, dependendo do contexto onde é usada.

Sintaxe

Podemos usar a função IFNULL com a seguinte sintaxe:

 IFNULL (Expression1, Expression2) 

Ele retorna expressão1 quando expressão1 não é nula. Caso contrário, retornará expressão2.

Parâmetros

Parâmetro Requerimento Descrições
Expressão 1 Obrigatório Esta expressão é usada para verificar se é NULL ou não.
Expressão 2 Obrigatório Ele retornará quando a expressão 1 for NULL.

Suporte à versão MySQL

A função IFNULL pode suportar as seguintes versões do 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

Vamos entender a função MySQL IFNULL() com os exemplos a seguir. Podemos usar a função IFNULL com o SELECIONAR declaração diretamente.

Exemplo 1

 SELECT IFNULL(0,5); 

Na função acima, a instrução MySQL verifica a primeira expressão. Se a primeira expressão não for NULL, retornará a primeira expressão, que é zero.

Saída:

 0 

Exemplo 2

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

A instrução MySQL acima verifica a primeira expressão. Se a primeira expressão não for NULL, retornará a primeira expressão, que é 'Olá' valor.

Saída:

 Hello 

Exemplo 3

 SELECT IFNULL(NULL,5); 

A instrução MySQL a seguir verifica a primeira expressão. Se a primeira expressão não for NULL, retornará a primeira expressão. Caso contrário, retornará a segunda expressão, que é cinco (5).

Saída:

 5 

Exemplo 4

Aqui vamos criar uma tabela 'contatos_alunos' e execute a função 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, ); 

Agora, você precisa inserir dados em uma tabela. Após inserir os valores na tabela, execute a seguinte consulta.

 SELECT contactname, cellphone, homephone FROM student_contacts; 

Ele exibirá a saída que contém todas as linhas e colunas. Aqui, podemos perceber que alguns dos contatos possuem apenas um telefone celular ou residencial.

MySQL IFNULL

Na saída acima, obteremos o nome de todos os contatos, telefone celular meteorológico e o número de telefone residencial está disponível ou não. Então, nesse caso, a função IFNULL() desempenha um papel importante.

Agora, execute a seguinte consulta MySQL. Esta instrução retorna o telefone residencial número se o celular for NULL.

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

Saída:

Quando a instrução MySQL acima for executada com sucesso, ela fornecerá a seguinte saída.

MySQL IFNULL

Nota: Você deve evitar o uso da função IFNULL() na cláusula WHERE porque esta função reduz o desempenho da consulta.