SQLite
 sql >> Base de données >  >> RDS >> SQLite

Comment Typeof() fonctionne dans SQLite

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