Při použití rozhraní příkazového řádku (CLI) SQLite je ve výchozím nastavení vždy, když dotaz vrátí hodnotu null, výstupem prázdný řetězec (''
).
Můžeme to změnit pomocí -nullvalue
možnost příkazového řádku při spouštění SQLite.
Můžeme také použít .nullvalue
tečka, pokud jsme již v SQLite CLI.
-nullvalue
Možnost
Můžeme použít -nullvalue
možnost při spouštění SQLite.
Zde je příklad:
sqlite3 -nullvalue null
V tomto případě, kdykoli narazím na hodnotu null, text null
bude vráceno. Použil jsem null
v tomto příkladu, ale může to být jakýkoli text.
Spuštění SQLite bez této možnosti by nastavilo -nullvalue
na prázdný řetězec.
.nullvalue
Příkaz tečka
Pokud již jsme v SQLite, nemusíme ukončit a znovu spouštět, abychom změnili naši nullvalue
nastavení. Můžeme použít .nullvalue
místo toho příkaz tečka
Příklad:
.nullvalue null
Aby bylo jasno, je potřeba to spustit z příkazového shellu SQLite (tj. poté, co jste již spustili SQLite).
Opět zde můžeme použít libovolný text k reprezentaci hodnot null.
Příklad
Nastavíme nullvalue
při spouštění SQLite:
sqlite3 -nullvalue n/a
Nyní, kdykoli je vrácena hodnota null, řetězec n/a
bude výstup.
Pojďme na to:
SELECT 1/0;
Výsledek:
+-----+ | 1/0 | +-----+ | n/a | +-----+
Vydělením čísla nulou se vrátí hodnota null. V našem případě dostaneme n/a
, což je přesně podle očekávání.
Nyní změňme naši nullvalue
nastavení:
.nullvalue null
A spusťte dotaz znovu:
SELECT 1/0;
Výsledek:
+------+ | 1/0 | +------+ | null | +------+
Nyní dostaneme řetězec null
kdykoli je vrácena hodnota null.
Výchozí nastavení
Předpokládejme, že spustíme SQLite bez nastavení nullvalue
:
sqlite3
Zde otevřeme terminál nebo příkazový řádek našeho počítače a zadáme příkaz pro spuštění SQLite (tj. sqlite3
) bez zadání jakýchkoli možností.
Nyní, když spustíme dotaz, který vrací hodnotu null, dostaneme prázdný řetězec:
SELECT 1/0;
Výsledek:
+-----+ | 1/0 | +-----+ | | +-----+
To je výchozí výsledek pro hodnoty null. To je to, co dostaneme, když nepoužijeme -nullvalue
volba nebo .nullvalue
příkaz tečka.