sql >> Database >  >> RDS >> SQLite

3 manieren om NULL te vervangen door "N/A" in SQLite

Als u in SQLite NULL-resultaten moet vervangen door tekst zoals "N/A", "None", of zelfs de tekst "NULL", kunt u een van de drie onderstaande oplossingen gebruiken.

Voorbeeldgegevens

Ten eerste is hier een voorbeeld van een query die enkele NULL-waarden retourneert.

SELECT 
  CustomerId, 
  Fax  
FROM Customer
LIMIT 5;

Resultaat:

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

Merk op dat rijen 2, 3 en 4 NULL-waarden bevatten in de Fax kolom.

We kunnen de onderstaande methoden gebruiken om het resultaat te wijzigen zodat de NULL-kolommen "N/A" weergeven.

De functie ifnull()

De ifnull() functie accepteert twee argumenten en retourneert de eerste die niet NULL is. Als beide argumenten NULL zijn, wordt NULL geretourneerd.

Het eerste argument moet dus de waarde zijn die al dan niet nullable is, en het tweede argument moet de waarde zijn waarmee u NULL-waarden wilt vervangen.

Hier ziet u hoe we de vorige zoekopdracht kunnen wijzigen om "N.v.t." weer te geven waar de Fax kolom is NULL.

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

Resultaat:

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

De coalesce()-functie

De coalesce() functie lijkt erg op de ifnull() functie. Het verschil is dat coalesce() accepteert meer dan twee argumenten. Het geeft gewoon het eerste niet-NULL-argument terug.

Daarom kunnen we het op precies dezelfde manier gebruiken als ifnull() door twee argumenten te geven.

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

Resultaat:

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

Het .nullvalue-puntcommando

Wanneer u de SQLite-opdrachtregelinterface gebruikt, kunt u de .nullvalue . gebruiken dot-commando om te voorkomen dat u elke keer dat u een zoekopdracht uitvoert een van de vorige functies hoeft te gebruiken.

Wanneer u deze opdracht gebruikt, geeft u een tekenreeks op die zal worden gebruikt om NULL-waarden te vervangen.

Voorbeeld:

.nullvalue N/A

Wanneer u nu een query uitvoert die NULL-waarden retourneert, vervangt de tekenreeks "N/A" die NULL-waarden.

SELECT 
  CustomerId, 
  Fax  
FROM Customer 
LIMIT 5;

Resultaat:

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


  1. Voorbeelden van het converteren van 'smalldatetime' naar 'datetime' in SQL Server (T-SQL)

  2. Voorkomt de JDBC-specificatie '?' niet als operator worden gebruikt (buiten aanhalingstekens)?

  3. String splitsen in meerdere rijen in Oracle

  4. 10 Microsoft Access-tips voor het maken van selectiequery's