SQLite
 sql >> Base de Dados >  >> RDS >> SQLite

3 maneiras de substituir NULL por “N/A” no SQLite


No SQLite, se você precisar substituir os resultados NULL por textos como “N/A”, “None” ou mesmo o texto “NULL”, você pode usar uma das três soluções abaixo.

Dados de amostra


Primeiro, aqui está um exemplo de uma consulta que retorna alguns valores NULL.
SELECT 
  CustomerId, 
  Fax  
FROM Customer
LIMIT 5;

Resultado:
CustomerId  Fax          
----------  -------------
1           +55 (12) 3923
2                        
3                        
4                        
5           +420 2 4172 5

Observe que as linhas 2, 3 e 4 contêm valores NULL no Fax coluna.

Podemos usar os métodos abaixo para alterar o resultado para que as colunas NULL exibam “N/A”.

A função ifnull()


O ifnull() A função aceita dois argumentos e retorna o primeiro que não é NULL. Se ambos os argumentos forem NULL, ele retornará NULL.

Portanto, o primeiro argumento deve ser o valor que pode ou não ser anulável e o segundo argumento deve ser o valor pelo qual você deseja substituir quaisquer valores NULL.

Veja como podemos modificar a consulta anterior para exibir "N/A" sempre que o Fax coluna é NULL.
SELECT 
  CustomerId, 
  ifnull(Fax, 'N/A') AS Fax
FROM Customer
LIMIT 5;

Resultado:
CustomerId  Fax          
----------  -------------
1           +55 (12) 3923
2           N/A          
3           N/A          
4           N/A          
5           +420 2 4172 5

A função coalesce()


A coalesce() função é muito semelhante ao ifnull() função. A diferença é que coalesce() aceita mais de dois argumentos. Ele simplesmente retorna o primeiro argumento não NULL.

Portanto, podemos usá-lo exatamente da mesma maneira que usamos ifnull() apresentando dois argumentos.
SELECT 
  CustomerId, 
  coalesce(Fax, 'N/A') AS Fax
FROM Customer
LIMIT 5;

Resultado:
CustomerId  Fax          
----------  -------------
1           +55 (12) 3923
2           N/A          
3           N/A          
4           N/A          
5           +420 2 4172 5

O comando de ponto .nullvalue


Ao usar a interface de linha de comando SQLite, você pode usar o .nullvalue dot para evitar ter que usar uma das funções anteriores cada vez que você faz uma consulta.

Ao usar este comando, você fornece uma string que será usada para substituir valores NULL.

Exemplo:
.nullvalue N/A

Agora, sempre que você executar uma consulta que retorne valores NULL, a string “N/A” substituirá esses valores NULL.
SELECT 
  CustomerId, 
  Fax  
FROM Customer 
LIMIT 5;

Resultado:
CustomerId  Fax          
----------  -------------
1           +55 (12) 3923
2           N/A          
3           N/A          
4           N/A          
5           +420 2 4172 5