SQLite typeof()
funktionen låter dig bestämma datatypen för ett uttryck.
Ett uttryck kan vara en av följande datatyper:
- null
- heltal
- riktigt
- text
- blobb
Exempel
Här är ett exempel att visa.
SELECT typeof('Avocado');
Resultat:
text
Här är några fler:
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
Databasexempel
SQLite använder ett dynamiskt typsystem, i motsats till statisk typning som det som används i de flesta andra relationsdatabashanteringssystem.
I SQLite är datatypen för ett värde associerad med själva värdet, inte med dess behållare. Detta innebär att en kolumn kan innehålla data av olika typer. Till exempel kan en rad ha text i den kolumnen, en annan rad kan innehålla ett heltal.
Här är ett exempel som visar detta koncept.
Ta följande tabell som heter 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 den här tabellen verkar uppgifterna i den sista raden vara annorlunda än de andra.
Låt oss se vad typeof()
är funktion returnerar.
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 förväntat returnerar den sista raden olika datatyper för Produktnamn och Pris kolumner.
Uttryck
typeof()
funktion kan vara praktisk för att se vilken datatyp ett givet uttryck kan returnera.
SELECT
typeof(1),
typeof(1 + 1.5),
typeof(1 + NULL);
Resultat:
typeof(1) typeof(1 + 1.5) typeof(1 + NULL) ---------- --------------- ---------------- integer real null