Estaremos discutindo MySQL COALESCE e função NULLIF neste post. Também mostraremos exemplos de MySQL COALESCE e um exemplo de função NULLIF MySQL
Função MySQL COALESCE
COALESCE no MySQL é uma função muito útil para selecionar os primeiros valores não nulos da lista de valores
Sintaxe
COALESCE(val1, val2,val3,…valn)
A sintaxe acima é equivalente à seguinte instrução IF-THEN-ELSE
IF val1 não é NULL THEN val1
ELSIF val2 não é NULL THEN val2
ELSIF val3 não é NULL THEN val3
ELSE NULL;
END IF
Isso também é equivalente à expressão case
Caso
quando val1 não é NULL, então val1
quando val2 não é NULL, então val2
quando val3 não é NULL, então val3
senão NULL
end
Uso
Abaixo estão alguns exemplos da Função COALESCE
mysql> selecione COALESCE(1,2,3,null);
+----------------------+
| COALESCE(1,2,3,null) |
+----------------------+
| 1 |
+----------------------+
1 linha no conjunto (0,00 seg)
mysql> selecione COALESCE (null,null,'a','b',null);
+----------------------------- -----+
| COALESCE(null,null,'a','b',null) |
+---------------------------- ------+
| a |
+----------------------------------+
1 linha no conjunto (0,00 seg.)
mysql> selecione COALESCE(null,null,null);
+————————–+
| COALESCE(nulo,nulo,nulo) |
+————————–+
| NULL |
+————————–+
1 linha no conjunto (0,00 seg)
Suponha que você tenha uma tabela EMP que contém o número_do_móvel do funcionário, número_do_escritório e número_domicílio. Ele pode conter um valor nulo para qualquer um desses campos. Agora você quer selecionar o telefone em priority mobile_number> office_number> home_number no caso de valores nulos. Então, podemos usar a declaração coalesce abaixo
selecione emp_name, coalesce(mobile_number,office_number,home_number) contact_no from emp;Função NULLIF do MySQL
A função Nullif no MySQL é uma função muito útil para comparar dois valores e dar null caso sejam iguais, dar val1 caso não sejam iguais
NULLIF(val1,val2)
Uso
Abaixo estão alguns exemplos da instrução NULLIF.
mysql> selecione nullif(1,2);
+————-+
| nullif(1,2) |
+————-+
| 1 |
+————-+
1 linha no conjunto (0,00 seg)
mysql> selecione nullif(2,1);
+————-+
| nullif(2,1) |
+————-+
| 2 |
+————-+
1 linha no conjunto (0,00 seg)
mysql> selecione nullif(1,1);
+-----------------+
| nullif(1,1) |
+-------------+
| NULL |
+-------------+
1 linha no conjunto (0,00 seg)
Espero que você ache este post sobre MySQL Database COALESCE e NULLIF Function interessante e útil. Por favor, forneça o feedback para melhorar
Artigos relacionados
Guia passo a passo para instalar o MySQL no Windows
Coluna de incremento automático - Sequência como valor padrão no Oracle e no MySQL
As 51 principais perguntas e respostas da entrevista sobre o MySQL
Guia passo a passo para criar ambiente de desenvolvimento local Apache PHP MySQL no Windows
Como redefinir a senha de root do MySQL