Podczas korzystania z interfejsu wiersza poleceń SQLite (CLI), domyślnie, gdy zapytanie zwraca wartość null, wynikiem jest pusty ciąg (''
).
Możemy to zmienić za pomocą -nullvalue
opcja wiersza poleceń podczas uruchamiania SQLite.
Możemy również użyć .nullvalue
polecenie kropka, jeśli jesteśmy już w CLI SQLite.
Wartość -nullvalue
Opcja
Możemy użyć -nullvalue
opcja podczas uruchamiania SQLite.
Oto przykład:
sqlite3 -nullvalue null
W takim przypadku za każdym razem, gdy napotkam wartość null, tekst null
będzie zwrócony. Użyłem null
w tym przykładzie, ale może to być dowolny tekst.
Uruchomienie SQLite bez tej opcji spowodowałoby ustawienie -nullvalue
do pustego ciągu.
.nullvalue
Polecenie kropka
Jeśli jesteśmy już w SQLite, nie musimy wychodzić i uruchamiać ponownie, aby zmienić naszą nullvalue
ustawienia. Możemy użyć .nullvalue
zamiast tego polecenie kropka
Przykład:
.nullvalue null
Żeby było jasne, należy to uruchomić z poziomu powłoki poleceń SQLite (tj. Po uruchomieniu SQLite).
Ponownie, możemy użyć tutaj dowolnego tekstu do reprezentowania wartości null.
Przykład
Ustawmy nullvalue
podczas uruchamiania SQLite:
sqlite3 -nullvalue n/a
Teraz za każdym razem, gdy zwracana jest wartość null, ciąg n/a
zostanie wyprowadzony.
Zróbmy to:
SELECT 1/0;
Wynik:
+-----+ | 1/0 | +-----+ | n/a | +-----+
Dzielenie liczby przez zero zwraca wartość null. W naszym przypadku otrzymujemy n/a
, co jest dokładnie zgodne z oczekiwaniami.
Teraz zmieńmy naszą nullvalue
ustawienia:
.nullvalue null
I uruchom zapytanie ponownie:
SELECT 1/0;
Wynik:
+------+ | 1/0 | +------+ | null | +------+
Teraz otrzymujemy ciąg null
za każdym razem, gdy zwracana jest wartość null.
Ustawienia domyślne
Załóżmy, że uruchamiamy SQLite bez ustawienia nullvalue
:
sqlite3
Tutaj otwieramy terminal lub wiersz poleceń naszego komputera i wpisujemy polecenie, aby uruchomić SQLite (tj. sqlite3
) bez określania żadnych opcji.
Teraz, gdy uruchamiamy zapytanie, które zwraca wartość null, otrzymujemy pusty ciąg:
SELECT 1/0;
Wynik:
+-----+ | 1/0 | +-----+ | | +-----+
To domyślny wynik dla wartości null. To właśnie otrzymujemy, gdy nie używamy -nullvalue
opcja lub .nullvalue
polecenie kropki.