Como mapear valores NULL para outros valores significativos

Resumo : neste tutorial, você aprenderá como mapear NULLvalores para outros valores significativos.

Dr.EFCodd , criador do modelo relacional para banco de dados, introduziu o NULLconceito na teoria do banco de dados relacional. De acordo com Dr.EFCodd, NULLsignifica valor desconhecido ou informação faltante.

O MySQL também suporta NULLo que representa o conceito de informações ausentes ou inaplicáveis.

Na tabela do banco de dados, você armazena dados que contêm NULLvalores. 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 NULLvalores 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 expavaliado como TRUE(Quando exp <> 0e exp <> NULL), a IFfunção retornará o valor de, exp_result1caso contrário, retornará o valor de exp_result2 .

O valor retornado da IFfunção pode ser uma string ou um número, dependendo das expressões exp_result1e .exp_result2

Vamos praticar com alguns exemplos para entender melhor.

Trabalharemos com a customerstabela no banco de dados de exemplo .

A seguir estão os dados parciais na customerstabela que inclui customername statee country:

SELECT 
    customername, state, country
FROM
    customers
ORDER BY country;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Experimente

Exemplo de valores NULL do MySQL

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 IFfunção para exibir NULLo 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 )

Experimente

MySQL NULL como valor NA

Além da função IF, o MySQL fornece a função IFNULL que permite manipular NULLvalores diretamente. A seguir está a sintaxe da IFNULLfunção:

IFNULL(exp,exp_result);Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Experimente

A IFNULLfunção retorna o valor da exp_resultexpressão se for expavaliada como um NULLvalor; caso contrário, retorna o valor da expexpressão.

A consulta a seguir usa a IFNULLfunção para exibir NULLcomo 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 )

Experimente

MySQL NULL com função IFNULL

Neste tutorial, você aprendeu como usar as funções IFe IFNULLpara mapear os valores NULL em outros valores mais significativos para apresentar dados de maneira legível.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *