Conversion d’entiers en caractères dans SQL

SQL est un langage de programmation largement utilisé pour les bases de données informatiques en entreprise. Souvent, les développeurs de logiciels doivent combiner différents types de données, tels que les champs de nombres entiers et de caractères, en un seul élément pour les imprimer ou les afficher. Une approche courante pour y parvenir implique la conversion de données entières en caractères; une fois convertis, plusieurs éléments de caractère se combinent facilement pour former un champ plus grand. SQL a plusieurs fonctions intégrées avec lesquelles vous pouvez convertir des données entières en caractères.

STR ()

La fonction STR () prend un nombre et le transforme en caractères, comme le montre l'exemple suivant:

SELECT nom_élément, STR (quantité_élément) FROM éléments;

Cette instruction SQL répertorie le nom et la quantité d'un élément séparément, chacun avec son propre en-tête. Vous pouvez combiner les deux éléments en un seul:

SELECT nom_élément || '' || STR (quantité_élément) FROM éléments;

Cette instruction SELECT répertorie un seul champ pour chaque enregistrement. Un espace entre le nom de l'article et la quantité sépare les deux articles, ce qui facilite la lecture du champ combiné. Le SQL standard utilise deux symboles à barres verticales, «||», pour concaténer ou combiner deux ou plusieurs éléments de caractère ensemble. Le serveur SQL de Microsoft utilise le symbole plus «+» pour cela. Bien que la fonction STR accepte les nombres avec des décimales, elle fonctionne aussi bien avec des entiers. L'exemple suivant montre un SELECT qui répertorie deux nombres, le premier étant un chiffre en dollars comportant cinq premiers chiffres et deux décimales, le second un entier:

SELECT STR (coût_élément, 8,2) || '' || STR (quantité_élément) FROM éléments;

Notez que le premier élément a une longueur totale de huit caractères: cinq premiers chiffres, une décimale et deux chiffres décimaux.

CONVERTIR()

La fonction CONVERT () est plus sophistiquée que STR (); il convertit entre les caractères, les nombres et les dates dans différents formats. Cela fonctionne aussi bien que STR () pour changer les entiers en données de caractères. Une instruction SQL utilisant CONVERT () ressemble à ce qui suit:

SELECT nom_élément, CONVERT (CHAR (8), quantité_élément) FROM éléments;

Dans cette instruction, CONVERT () transforme l'entier contenu dans "item_quantity" en un élément de données à huit caractères. Au lieu du type de données CHAR, vous pouvez utiliser VARCHAR pour les données de caractères de longueur variable, NCHAR pour les données Unicode internationales ou NVARCHAR pour Unicode de longueur variable.

CAST ()

La fonction CAST () de SQL est similaire à CONVERT (); il n'a pas les capacités de formatage de la date que CONVERT () a, mais fonctionne autrement de la même manière. L'instruction SQL suivante convertit les données entières en caractères à l'aide de CAST ():

SELECT nom_élément, CAST (quantité_élément AS CHAR (8)) FROM éléments;

Comme avec CONVERT (), CAST () peut utiliser n'importe quel type de données qui reçoit des caractères: VARCHAR, NCHAR et NVARCHAR.

SQLite

Le système de base de données SQLite, utilisé dans les smartphones et les applications PC autonomes, traite ses champs de données différemment des autres bases de données commerciales. SQLite vous permet de stocker des données de caractères dans un champ défini pour les entiers, et vice-versa. Bien que SQLite ne dispose pas des fonctions STR () et CONVERT (), il propose CAST () pour convertir des entiers en données caractères.