SQLite
 sql >> Base de données >  >> RDS >> SQLite

3 façons de remplacer NULL par "N/A" dans SQLite

Dans SQLite, si vous devez remplacer les résultats NULL par du texte tel que "N/A", "None", ou même le texte "NULL", vous pouvez utiliser l'une des trois solutions ci-dessous.

Exemple de données

Tout d'abord, voici un exemple de requête qui renvoie des valeurs NULL.

SELECT 
  CustomerId, 
  Fax  
FROM Customer
LIMIT 5;

Résultat :

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

Notez que les lignes 2, 3 et 4 contiennent des valeurs NULL dans le Fax colonne.

Nous pouvons utiliser les méthodes ci-dessous pour modifier le résultat afin que les colonnes NULL affichent "N/A".

La fonction ifnull()

Le ifnull() La fonction accepte deux arguments et renvoie le premier qui n'est pas NULL. Si les deux arguments sont NULL, alors il renvoie NULL.

Ainsi, le premier argument doit être la valeur qui peut ou non être nullable, et le deuxième argument doit être la valeur par laquelle vous souhaitez remplacer les valeurs NULL.

Voici comment nous pouvons modifier la requête précédente pour afficher "N/A" partout où le Fax la colonne est NULL.

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

Résultat :

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

La fonction coalesce()

Le coalesce() la fonction est très similaire à la ifnull() une fonction. La différence est que coalesce() accepte plus de deux arguments. Il renvoie simplement le premier argument non NULL.

Par conséquent, nous pouvons l'utiliser exactement de la même manière que nous utilisons ifnull() en fournissant deux arguments.

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

Résultat :

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

La commande point .nullvalue

Lorsque vous utilisez l'interface de ligne de commande SQLite, vous pouvez utiliser le .nullvalue commande point pour vous éviter d'avoir à utiliser l'une des fonctions précédentes à chaque fois que vous faites une requête.

Lorsque vous utilisez cette commande, vous fournissez une chaîne qui sera utilisée pour remplacer les valeurs NULL.

Exemple :

.nullvalue N/A

Désormais, chaque fois que vous exécutez une requête qui renvoie des valeurs NULL, la chaîne "N/A" remplacera ces valeurs NULL.

SELECT 
  CustomerId, 
  Fax  
FROM Customer 
LIMIT 5;

Résultat :

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