Wenn Sie die SQLite-Befehlszeilenschnittstelle (CLI) verwenden, ist die Ausgabe standardmäßig immer dann, wenn eine Abfrage einen Nullwert zurückgibt, die leere Zeichenfolge (''
).
Wir können dies ändern, indem wir den -nullvalue
verwenden Befehlszeilenoption beim Starten von SQLite.
Wir können auch den .nullvalue
verwenden dot-Befehl, wenn wir uns bereits in der SQLite-CLI befinden.
Der -nullvalue
Möglichkeit
Wir können den -nullvalue
verwenden Option beim Starten von SQLite.
Hier ist ein Beispiel:
sqlite3 -nullvalue null
In diesem Fall wird immer, wenn ich auf einen Nullwert stoße, der Text null
Wird zurückgegeben. Ich habe null
verwendet in diesem Beispiel, aber das könnte ein beliebiger Text sein.
Das Starten von SQLite ohne diese Option hätte -nullvalue
gesetzt in die leere Zeichenfolge.
Der .nullvalue
Punkt-Befehl
Wenn wir uns bereits in SQLite befinden, müssen wir es nicht beenden und neu starten, um unseren nullvalue
zu ändern die Einstellungen. Wir können den .nullvalue
verwenden stattdessen Punktbefehl
Beispiel:
.nullvalue null
Nur um das klarzustellen, das muss innerhalb der SQLite-Befehlsshell ausgeführt werden (d. h. nachdem Sie SQLite bereits gestartet haben).
Auch hier können wir wieder beliebigen Text verwenden, um Nullwerte darzustellen.
Beispiel
Lassen Sie uns nullvalue
setzen beim Starten von SQLite:
sqlite3 -nullvalue n/a
Jetzt wird immer dann, wenn ein Nullwert zurückgegeben wird, die Zeichenfolge n/a
ausgegeben.
Machen wir das:
SELECT 1/0;
Ergebnis:
+-----+ | 1/0 | +-----+ | n/a | +-----+
Das Teilen einer Zahl durch Null gibt einen Nullwert zurück. In unserem Fall erhalten wir n/a
, was genau wie erwartet ist.
Jetzt ändern wir unseren nullvalue
Einstellungen:
.nullvalue null
Und führen Sie die Abfrage erneut aus:
SELECT 1/0;
Ergebnis:
+------+ | 1/0 | +------+ | null | +------+
Jetzt erhalten wir den String null
immer wenn ein Nullwert zurückgegeben wird.
Die Standardeinstellung
Angenommen, wir starten SQLite, ohne nullvalue
festzulegen :
sqlite3
Hier öffnen wir das Terminal oder die Eingabeaufforderung unseres Computers und geben den Befehl zum Starten von SQLite ein (z. B. sqlite3
) ohne Angabe von Optionen.
Wenn wir nun eine Abfrage ausführen, die einen Nullwert zurückgibt, erhalten wir die leere Zeichenfolge:
SELECT 1/0;
Ergebnis:
+-----+ | 1/0 | +-----+ | | +-----+
Das ist das Standardergebnis für Nullwerte. Das bekommen wir, wenn wir den -nullvalue
nicht verwenden Option oder .nullvalue
Punkt-Befehl.