SQLite
 sql >> Baza danych >  >> RDS >> SQLite

Jak działa SQLite Ifnull()

SQLite ifnull() funkcja umożliwia zastąpienie wartości NULL inną wartością.

Pobiera dwa argumenty i zwraca kopię swojego pierwszego argumentu innego niż NULL lub NULL, jeśli oba argumenty mają wartość NULL.

ifnull() funkcja jest równoważna coalesce() z dwoma argumentami.

Prosty przykład

Oto prosty przykład demonstrujący tę koncepcję.

SELECT 
  ifnull(123, 0),
  ifnull(NULL, 0);

Wynik:

ifnull(123, 0)  ifnull(NULL, 0)
--------------  ---------------
123             0              

Druga kolumna miała wartość NULL, więc 0 został zwrócony.

Przykład bazy danych

W tym przykładzie użyto ifnull() w zapytaniu do bazy danych. To pokazuje, jak ifnull() może być przydatne podczas zapytań o dane, które mogą zawierać wartości NULL.

Jako przykład weź poniższą tabelę:

ProductId   ProductName    Price     
----------  -------------  ----------
1           Widget Holder  139.5     
2           Widget Stick   89.75     
3           Foo Cap        11.99     
4           Free Widget    0.0       
5           Free Foobar    0.0       
6           Free Beer                

Większość produktów została wypełniona cenami, ale cena Bezpłatnego piwa jest NULL.

Możemy to zmienić na wybraną przez nas wartość.

SELECT 
  ProductName,
  ifnull(Price, 0.0)
FROM Products;

Wynik:

ProductName    ifnull(Price, 0.0)
-------------  ------------------
Widget Holder  139.5             
Widget Stick   89.75             
Foo Cap        11.99             
Free Widget    0.0               
Free Foobar    0.0               
Free Beer      0.0               

Teraz ma taką samą cenę jak inne bezpłatne produkty.

Wartość zastępcza niekoniecznie musi być liczbą. Możesz go również zastąpić ciągiem.

SELECT 
  ProductName,
  ifnull(Price, 'FREE!')
FROM Products;

Wynik:

ProductName    ifnull(Price, 'FREE!')
-------------  ----------------------
Widget Holder  139.5                 
Widget Stick   89.75                 
Foo Cap        11.99                 
Free Widget    0.0                   
Free Foobar    0.0                   
Free Beer      FREE!                 

Kiedy oba argumenty są NULL

Jeśli oba argumenty mają wartość NULL, zwracana jest wartość NULL.

SELECT ifnull(NULL, NULL);

Wynik:

ifnull(NULL, NULL)
------------------
                  

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak przenieść pole ForeignCollection do kursora w Ormlite?

  2. 3 sposoby na wyodrębnienie wartości z dokumentu JSON w SQLite

  3. Ormlite czy sqlite Który z nich jest dobry dla perspektywy Androida?

  4. Funkcje i operatory JSON w SQLite (pełna lista)

  5. Wyjątek wskaźnika zerowego podczas wywoływania metody getReadableDatabase()