SQLite
 sql >> Database >  >> RDS >> SQLite

3 modi per sostituire NULL con "N/D" in SQLite

In SQLite, se devi sostituire i risultati NULL con testo come "N/A", "Nessuno" o anche il testo "NULL", puoi utilizzare una delle tre soluzioni seguenti.

Dati di esempio

Innanzitutto, ecco un esempio di una query che restituisce alcuni valori NULL.

SELECT 
  CustomerId, 
  Fax  
FROM Customer
LIMIT 5;

Risultato:

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

Nota che le righe 2, 3 e 4 contengono valori NULL nel Fax colonna.

Possiamo utilizzare i metodi seguenti per modificare il risultato in modo che le colonne NULL visualizzino "N/A".

La funzione ifnull()

Il ifnull() la funzione accetta due argomenti e restituisce il primo che non è NULL. Se entrambi gli argomenti sono NULL, restituisce NULL.

Quindi, il primo argomento dovrebbe essere il valore che può essere annullato o meno e il secondo argomento dovrebbe essere il valore con cui vuoi sostituire qualsiasi valore NULL.

Ecco come possiamo modificare la query precedente per visualizzare "N/D" ovunque si trovi il Fax la colonna è NULL.

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

Risultato:

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

La funzione coalescent()

Il coalesce() La funzione è molto simile a ifnull() funzione. La differenza è che coalesce() accetta più di due argomenti. Restituisce semplicemente il primo argomento non NULL.

Pertanto, possiamo usarlo esattamente nello stesso modo in cui usiamo ifnull() fornendo due argomenti.

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

Risultato:

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

Il comando punto .nullvalue

Quando si utilizza l'interfaccia della riga di comando di SQLite, è possibile utilizzare il .nullvalue dot comando per evitare di dover utilizzare una delle funzioni precedenti ogni volta che esegui una query.

Quando utilizzi questo comando, fornisci una stringa che verrà utilizzata per sostituire i valori NULL.

Esempio:

.nullvalue N/A

Ora, ogni volta che esegui una query che restituisce valori NULL, la stringa "N/D" sostituirà quei valori NULL.

SELECT 
  CustomerId, 
  Fax  
FROM Customer 
LIMIT 5;

Risultato:

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