Når du bruger SQLite-kommandolinjegrænsefladen (CLI), som standard, når en forespørgsel returnerer en nulværdi, er outputtet den tomme streng (''
).
Vi kan ændre dette ved at bruge -nullvalue
kommandolinjeindstilling, når du starter SQLite.
Vi kan også bruge .nullvalue
dot kommando, hvis vi allerede er i SQLite CLI.
-nullvalue
Mulighed
Vi kan bruge -nullvalue
mulighed, når du starter SQLite.
Her er et eksempel:
sqlite3 -nullvalue null
I dette tilfælde, når jeg støder på en nulværdi, vises teksten null
vil blive returneret. Jeg brugte null
i dette eksempel, men dette kan være en hvilken som helst tekst.
At starte SQLite uden denne mulighed ville have sat -nullvalue
til den tomme streng.
.nullvalue
Punktkommando
Hvis vi allerede er i SQLite, behøver vi ikke afslutte og genstarte for at ændre vores nullvalue
indstillinger. Vi kan bruge .nullvalue
prik kommando i stedet
Eksempel:
.nullvalue null
Bare for at gøre det klart, det skal køres inde fra SQLite-kommandoskallen (dvs. efter du allerede har startet SQLite).
Igen, vi kan bruge enhver tekst her til at repræsentere nulværdier.
Eksempel
Lad os indstille nullvalue
mens du starter SQLite:
sqlite3 -nullvalue n/a
Nu, når en null-værdi returneres, er strengen n/a
vil blive udlæst.
Lad os gøre det:
SELECT 1/0;
Resultat:
+-----+ | 1/0 | +-----+ | n/a | +-----+
At dividere et tal med nul returnerer en nulværdi. I vores tilfælde får vi n/a
, hvilket er nøjagtigt som forventet.
Lad os nu ændre vores nullvalue
indstillinger:
.nullvalue null
Og kør forespørgslen igen:
SELECT 1/0;
Resultat:
+------+ | 1/0 | +------+ | null | +------+
Nu får vi strengen null
hver gang en nulværdi returneres.
Standardindstillingen
Antag, at vi starter SQLite uden at indstille nullvalue
:
sqlite3
Her åbner vi vores computers terminal eller kommandoprompt og indtaster kommandoen for at starte SQLite (dvs. sqlite3
) uden at angive nogen muligheder.
Nu, når vi kører en forespørgsel, der returnerer en nulværdi, får vi den tomme streng:
SELECT 1/0;
Resultat:
+-----+ | 1/0 | +-----+ | | +-----+
Det er standardresultatet for null-værdier. Det er, hvad vi får, når vi ikke bruger -nullvalue
option eller .nullvalue
punktkommando.