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.