sql >> Databáze >  >> RDS >> SQLite

3 způsoby, jak nahradit NULL za „N/A“ v SQLite

Pokud v SQLite potřebujete nahradit NULL výsledky textem jako „N/A“, „None“ nebo dokonce textem „NULL“, můžete použít jedno ze tří níže uvedených řešení.

Ukázková data

Nejprve je zde příklad dotazu, který vrací některé hodnoty NULL.

SELECT 
  CustomerId, 
  Fax  
FROM Customer
LIMIT 5;

Výsledek:

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

Všimněte si, že řádky 2, 3 a 4 obsahují hodnoty NULL v Faxu sloupec.

Můžeme použít níže uvedené metody ke změně výsledku tak, aby sloupce NULL zobrazovaly „N/A“.

Funkce ifnull()

ifnull() funkce přijímá dva argumenty a vrací první, který není NULL. Pokud jsou oba argumenty NULL, vrátí hodnotu NULL.

První argument by tedy měla být hodnota, která může nebo nemusí mít hodnotu null, a druhý argument by měla být hodnota, kterou chcete nahradit hodnoty NULL.

Zde je návod, jak můžeme upravit předchozí dotaz tak, aby zobrazoval „N/A“ kdekoli Fax sloupec je NULL.

SELECT 
  CustomerId, 
  ifnull(Fax, 'N/A') AS Fax
FROM Customer
LIMIT 5;

Výsledek:

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

Funkce coalesce()

coalesce() funkce je velmi podobná funkci ifnull() funkce. Rozdíl je v tom, že coalesce() přijímá více než dva argumenty. Jednoduše vrátí první argument, který není NULL.

Můžeme jej tedy použít úplně stejným způsobem, jakým používáme ifnull() poskytnutím dvou argumentů.

SELECT 
  CustomerId, 
  coalesce(Fax, 'N/A') AS Fax
FROM Customer
LIMIT 5;

Výsledek:

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

Příkaz .nullvalue Dot

Při použití rozhraní příkazového řádku SQLite můžete použít .nullvalue tečka, abyste se uchránili od nutnosti používat jednu z předchozích funkcí pokaždé, když děláte dotaz.

Při použití tohoto příkazu zadáte řetězec, který bude použit k nahrazení hodnot NULL.

Příklad:

.nullvalue N/A

Nyní, kdykoli spustíte dotaz, který vrací hodnoty NULL, nahradí tyto hodnoty NULL řetězec „N/A“.

SELECT 
  CustomerId, 
  Fax  
FROM Customer 
LIMIT 5;

Výsledek:

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


  1. Přehled Percona XtraDB Cluster Operátor Kubernetes

  2. JPA Názvy tabulek velkými písmeny

  3. Sloupec Postgresql nebyl nalezen, ale zobrazuje se v popisu

  4. Připojte se ke mně a získejte Microsoft Access s SQL Server Academy Session