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.