När du använder SQLites kommandoradsgränssnitt (CLI), som standard, när en fråga returnerar ett nullvärde, är utdata den tomma strängen (''
).
Vi kan ändra detta genom att använda -nullvalue
kommandoradsalternativ när du startar SQLite.
Vi kan också använda .nullvalue
dot-kommandot om vi redan är i SQLite CLI.
-nullvalue
Alternativ
Vi kan använda -nullvalue
alternativet när du startar SQLite.
Här är ett exempel:
sqlite3 -nullvalue null
I det här fallet, när jag stöter på ett nollvärde, visas texten null
kommer att returneras. Jag använde null
i det här exemplet, men det kan vara vilken text som helst.
Att starta SQLite utan det alternativet skulle ha satt -nullvalue
till den tomma strängen.
.nullvalue
Punktkommando
Om vi redan är i SQLite behöver vi inte avsluta och starta om för att ändra vårt nullvalue
inställningar. Vi kan använda .nullvalue
punktkommando istället
Exempel:
.nullvalue null
Bara för att vara tydlig, det måste köras från SQLite-kommandoskalet (dvs efter att du redan har startat SQLite).
Återigen, vi kan använda vilken text som helst här för att representera nollvärden.
Exempel
Låt oss ställa in nullvalue
medan du startar SQLite:
sqlite3 -nullvalue n/a
Nu, närhelst ett nullvärde returneras, strängen n/a
kommer att matas ut.
Låt oss göra det:
SELECT 1/0;
Resultat:
+-----+ | 1/0 | +-----+ | n/a | +-----+
Att dividera ett tal med noll returnerar ett nollvärde. I vårt fall får vi n/a
, vilket är precis som förväntat.
Låt oss nu ändra vårt nullvalue
inställningar:
.nullvalue null
Och kör frågan igen:
SELECT 1/0;
Resultat:
+------+ | 1/0 | +------+ | null | +------+
Nu får vi strängen null
närhelst ett nollvärde returneras.
Standardinställningen
Anta att vi startar SQLite utan att ställa in nullvalue
:
sqlite3
Här öppnar vi vår dators terminal eller kommandotolk och anger kommandot för att starta SQLite (dvs sqlite3
) utan att ange några alternativ.
Nu, när vi kör en fråga som returnerar ett nullvärde, får vi den tomma strängen:
SELECT 1/0;
Resultat:
+-----+ | 1/0 | +-----+ | | +-----+
Det är standardresultatet för nullvärden. Det är vad vi får när vi inte använder -nullvalue
option eller .nullvalue
punktkommando.