Le SQLite typeof()
permet de déterminer le type de données d'une expression.
Une expression peut être l'un des types de données suivants :
- nulle
- entier
- réel
- texte
- tache
Exemple
Voici un exemple pour illustrer.
SELECT typeof('Avocado');
Résultat :
text
En voici d'autres :
SELECT
typeof(12),
typeof(X'12'),
typeof(1.23),
typeof(NULL);
Résultat :
typeof(12) typeof(X'12') typeof(1.23) typeof(NULL) ---------- ------------- ------------ ------------ integer blob real null
Exemple de base de données
SQLite utilise un système de type dynamique, par opposition au typage statique comme ce qui est utilisé dans la plupart des autres systèmes de gestion de bases de données relationnelles.
Dans SQLite, le type de données d'une valeur est associé à la valeur elle-même, et non à son conteneur. Cela signifie qu'une colonne peut contenir des données de différents types. Par exemple, une ligne peut contenir du texte dans cette colonne, une autre ligne peut contenir un entier.
Voici un exemple qui illustre ce concept.
Prenez le tableau suivant intitulé Produits :
ProductId ProductName Price ---------- -------------- ---------- 1 Homer's Widget 10.0 2 Peter's Widget 20.75 3 Bob's Widget 15.0 4 777
Dans ce tableau, les données de la dernière ligne semblent être différentes des autres.
Voyons ce que le typeof()
la fonction revient.
SELECT
ProductId,
typeof(ProductName),
typeof(Price)
FROM Products;
Résultat :
ProductId typeof(ProductName) typeof(Price) ---------- ------------------- ------------- 1 text real 2 text real 3 text real 4 integer null
Comme prévu, la dernière ligne renvoie différents types de données pour le ProductName et Prix colonnes.
Expressions
Le typeof()
La fonction peut être pratique pour voir quel type de données une expression donnée peut renvoyer.
SELECT
typeof(1),
typeof(1 + 1.5),
typeof(1 + NULL);
Résultat :
typeof(1) typeof(1 + 1.5) typeof(1 + NULL) ---------- --------------- ---------------- integer real null