SQLite typeof()
funkce umožňuje určit datový typ výrazu.
Výraz může být jedním z následujících datových typů:
- null
- celé číslo
- skutečný
- text
- blob
Příklad
Zde je příklad k demonstraci.
SELECT typeof('Avocado');
Výsledek:
text
Zde jsou některé další:
SELECT
typeof(12),
typeof(X'12'),
typeof(1.23),
typeof(NULL);
Výsledek:
typeof(12) typeof(X'12') typeof(1.23) typeof(NULL) ---------- ------------- ------------ ------------ integer blob real null
Příklad databáze
SQLite používá dynamický typový systém, na rozdíl od statického typování, jaké se používá ve většině ostatních systémů pro správu relačních databází.
V SQLite je datový typ hodnoty spojen se samotnou hodnotou, nikoli s jejím kontejnerem. To znamená, že sloupec může obsahovat data různých typů. Například jeden řádek může mít v tomto sloupci text, jiný řádek může obsahovat celé číslo.
Zde je příklad, který tento koncept demonstruje.
Vezměte si následující tabulku s názvem Produkty :
ProductId ProductName Price ---------- -------------- ---------- 1 Homer's Widget 10.0 2 Peter's Widget 20.75 3 Bob's Widget 15.0 4 777
V této tabulce se údaje v posledním řádku zdají být odlišné od ostatních.
Podívejme se, co je typeof()
funkce vrátí.
SELECT
ProductId,
typeof(ProductName),
typeof(Price)
FROM Products;
Výsledek:
ProductId typeof(ProductName) typeof(Price) ---------- ------------------- ------------- 1 text real 2 text real 3 text real 4 integer null
Podle očekávání vrací poslední řádek různé typy dat pro ProductName a Cena sloupce.
Výrazy
typeof()
Funkce může být užitečná, abyste viděli, jaký datový typ může daný výraz vrátit.
SELECT
typeof(1),
typeof(1 + 1.5),
typeof(1 + NULL);
Výsledek:
typeof(1) typeof(1 + 1.5) typeof(1 + NULL) ---------- --------------- ---------------- integer real null