SQLite typeof()
funkcja pozwala określić typ danych wyrażenia.
Wyrażenie może być jednym z następujących typów danych:
- brak
- liczba całkowita
- prawdziwe
- tekst
- kropla
Przykład
Oto przykład do zademonstrowania.
SELECT typeof('Avocado');
Wynik:
text
Oto kilka innych:
SELECT
typeof(12),
typeof(X'12'),
typeof(1.23),
typeof(NULL);
Wynik:
typeof(12) typeof(X'12') typeof(1.23) typeof(NULL) ---------- ------------- ------------ ------------ integer blob real null
Przykład bazy danych
SQLite używa dynamicznego systemu typów, w przeciwieństwie do typowania statycznego, takiego jak w większości innych relacyjnych systemów zarządzania bazami danych.
W SQLite typ danych wartości jest powiązany z samą wartością, a nie z jej kontenerem. Oznacza to, że kolumna może zawierać dane różnego typu. Na przykład jeden wiersz może zawierać tekst w tej kolumnie, inny wiersz może zawierać liczbę całkowitą.
Oto przykład, który demonstruje tę koncepcję.
Weź poniższą tabelę o nazwie Produkty :
ProductId ProductName Price ---------- -------------- ---------- 1 Homer's Widget 10.0 2 Peter's Widget 20.75 3 Bob's Widget 15.0 4 777
W tej tabeli dane w ostatnim wierszu wydają się różnić od pozostałych.
Zobaczmy, co typeof()
funkcja powraca.
SELECT
ProductId,
typeof(ProductName),
typeof(Price)
FROM Products;
Wynik:
ProductId typeof(ProductName) typeof(Price) ---------- ------------------- ------------- 1 text real 2 text real 3 text real 4 integer null
Zgodnie z oczekiwaniami ostatni wiersz zwraca różne typy danych dla ProductName i Cena kolumny.
Wyrażenia
typeof()
funkcja może być przydatna, aby zobaczyć, jaki typ danych może zwrócić dane wyrażenie.
SELECT
typeof(1),
typeof(1 + 1.5),
typeof(1 + NULL);
Wynik:
typeof(1) typeof(1 + 1.5) typeof(1 + NULL) ---------- --------------- ---------------- integer real null