SQLite typeof()
funktionen giver dig mulighed for at bestemme datatypen for et udtryk.
Et udtryk kan være en af følgende datatyper:
- nul
- heltal
- rigtig
- tekst
- blob
Eksempel
Her er et eksempel til at demonstrere.
SELECT typeof('Avocado');
Resultat:
text
Her er nogle flere:
SELECT
typeof(12),
typeof(X'12'),
typeof(1.23),
typeof(NULL);
Resultat:
typeof(12) typeof(X'12') typeof(1.23) typeof(NULL) ---------- ------------- ------------ ------------ integer blob real null
Databaseeksempel
SQLite bruger et dynamisk typesystem, i modsætning til statisk indtastning som det, der bruges i de fleste andre relationelle databasestyringssystemer.
I SQLite er datatypen for en værdi forbundet med selve værdien, ikke med dens container. Det betyder, at en kolonne kan indeholde data af forskellige typer. For eksempel kan en række have tekst i den kolonne, en anden række kan indeholde et heltal.
Her er et eksempel, der demonstrerer dette koncept.
Tag følgende tabel kaldet Produkter :
ProductId ProductName Price ---------- -------------- ---------- 1 Homer's Widget 10.0 2 Peter's Widget 20.75 3 Bob's Widget 15.0 4 777
I denne tabel ser dataene i den sidste række ud til at være anderledes end de andre.
Lad os se hvad typeof()
er funktion returnerer.
SELECT
ProductId,
typeof(ProductName),
typeof(Price)
FROM Products;
Resultat:
ProductId typeof(ProductName) typeof(Price) ---------- ------------------- ------------- 1 text real 2 text real 3 text real 4 integer null
Som forventet returnerer den sidste række forskellige datatyper for ProductName og Pris kolonner.
Udtryk
typeof()
funktion kan være praktisk til at se, hvilken datatype et givet udtryk kan returnere.
SELECT
typeof(1),
typeof(1 + 1.5),
typeof(1 + NULL);
Resultat:
typeof(1) typeof(1 + 1.5) typeof(1 + NULL) ---------- --------------- ---------------- integer real null