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.
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.