SQLite typeof()
функцията ви позволява да определите типа данни на израз.
Изразът може да бъде един от следните типове данни:
- нула
- цяло число
- истински
- текст
- blob
Пример
Ето пример за демонстрация.
SELECT typeof('Avocado');
Резултат:
text
Ето още няколко:
SELECT
typeof(12),
typeof(X'12'),
typeof(1.23),
typeof(NULL);
Резултат:
typeof(12) typeof(X'12') typeof(1.23) typeof(NULL) ---------- ------------- ------------ ------------ integer blob real null
Пример за база данни
SQLite използва система с динамични типове, за разлика от статичното типизиране като това, което се използва в повечето други системи за управление на релационни бази данни.
В SQLite типът данни на стойност е свързан със самата стойност, а не с нейния контейнер. Това означава, че една колона може да съдържа данни от различни типове. Например, един ред може да има текст в тази колона, друг ред може да съдържа цяло число.
Ето пример, който демонстрира тази концепция.
Вземете следната таблица, наречена Продукти :
ProductId ProductName Price ---------- -------------- ---------- 1 Homer's Widget 10.0 2 Peter's Widget 20.75 3 Bob's Widget 15.0 4 777
В тази таблица данните в последния ред изглеждат различни от останалите.
Нека видим какво е typeof()
функция се връща.
SELECT
ProductId,
typeof(ProductName),
typeof(Price)
FROM Products;
Резултат:
ProductId typeof(ProductName) typeof(Price) ---------- ------------------- ------------- 1 text real 2 text real 3 text real 4 integer null
Както се очаква, последният ред връща различни типове данни за ProductName и Цена колони.
Изрази
typeof()
функцията може да бъде удобна, за да видите какъв тип данни може да върне даден израз.
SELECT
typeof(1),
typeof(1 + 1.5),
typeof(1 + NULL);
Резултат:
typeof(1) typeof(1 + 1.5) typeof(1 + NULL) ---------- --------------- ---------------- integer real null