Resumo : neste tutorial, você aprenderá como mapear NULL
valores para outros valores significativos.
Dr.EFCodd , criador do modelo relacional para banco de dados, introduziu o NULL
conceito na teoria do banco de dados relacional. De acordo com Dr.EFCodd, NULL
significa valor desconhecido ou informação faltante.
O MySQL também suporta NULL
o que representa o conceito de informações ausentes ou inaplicáveis.
Na tabela do banco de dados, você armazena dados que contêm NULL
valores. Quando você apresenta os dados aos usuários na forma de relatórios, não faz sentido exibir os NULL
valores.
Para tornar os relatórios mais legíveis e compreensíveis, você deve exibir NULL
valores como outros valores, como desconhecido, ausente ou não disponível (N/A). Para fazer isso, você pode usar a função SE .
A sintaxe da função SE é a seguinte:
IF(exp,exp_result1,exp_result2);
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Se for exp
avaliado como TRUE
(Quando exp <> 0
e exp <> NULL
), a IF
função retornará o valor de, exp_result1
caso contrário, retornará o valor de exp_result2
.
O valor retornado da IF
função pode ser uma string ou um número, dependendo das expressões exp_result1
e .exp_result2
Vamos praticar com alguns exemplos para entender melhor.
Trabalharemos com a customers
tabela no banco de dados de exemplo .
A seguir estão os dados parciais na customers
tabela que inclui customername
state
e country
:
SELECT
customername, state, country
FROM
customers
ORDER BY country;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
No conjunto de resultados acima, você vê que os valores de estado não estão disponíveis para alguns clientes. Você pode usar a IF
função para exibir NULL
o valor como N/A
:
SELECT
customername, IF(state IS NULL, 'N/A', state) state, country
FROM
customers
ORDER BY country;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Além da função IF, o MySQL fornece a função IFNULL que permite manipular NULL
valores diretamente. A seguir está a sintaxe da IFNULL
função:
IFNULL(exp,exp_result);
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
A IFNULL
função retorna o valor da exp_result
expressão se for exp
avaliada como um NULL
valor; caso contrário, retorna o valor da exp
expressão.
A consulta a seguir usa a IFNULL
função para exibir NULL
como desconhecido da seguinte forma:
SELECT customername,
IFNULL(state,"N/A") state,
country
FROM customers
ORDER BY country;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Neste tutorial, você aprendeu como usar as funções IF
e IFNULL
para mapear os valores NULL em outros valores mais significativos para apresentar dados de maneira legível.