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