Couler une fonction en SQL – Convertir Char en Int Exemple SQL Server

La conversion d’un type de données en un autre est une opération courante que vous effectuerez lorsque vous travaillerez dans des bases de données.

Et SQL fournit un utilitaire utile connu sous le nom de CAST pour réaliser cette opération. Nous allons voir comment il fonctionne dans cet article.

Qu’est-ce que la fonction CAST en SQL ?

CAST nous permet de convertir un type de données en un autre. Elle est très utile pour concaténer des résultats de différents types de données. Elle nous aide également à effectuer des calculs sur deux types de données différents.

CAST ne modifie pas les données de la base de données. La conversion n’est valable que pendant la durée de vie de la requête. Mais il est possible de convertir et d’insérer dans une nouvelle colonne ou une nouvelle table.

Syntaxe de CAST en SQL

Voici la syntaxe de la fonction CAST :

CAST ( expression AS data_type [ ( length ) ])

Où ,

  • expression est la requête telle que : id comme VARCHAR
  • data_type est le type de données cible.
  • length détermine la longueur du type de données cible. Cette partie est facultative.

Comment utiliser la fonction CAST en SQL

Exemple de table

Créons une table store_locations comme indiqué ci-dessous :

-- créer une table nommée store_locations

CREATE TABLE store_locations (
  id INTEGER PRIMARY KEY,
  store_name VARCHAR(10) NOT NULL,
  store_id INTEGER NOT NULL,
  code postal VARCHAR(10)
) ;

Où,

  • id est la clé primaire.
  • store_name est le nom du magasin avec le type de données VARCHAR.
  • store_id est l’ID du magasin et un INTEGER.
  • postal_code est l’adresse postale du magasin, de type VARCHAR.

Après avoir inséré quelques valeurs, notre tableau ressemble à ceci :

Voir aussi :  Instruction SQL LIKE - Comment effectuer une requête SQL avec des caractères génériques ?
image-24
table store_locations

Comment convertir char en int

en SQL
Voyons un exemple de conversion du type de données char (VARCHAR) en int.

Dans notre exemple, notre tâche consiste à générer une nouvelle colonne qui ajoute (additionne) le store_id et le postal_code pour générer un autre identifiant unique.

Rappelez-vous, store_id est un INTEGER, tandis que postal_code est un VARCHAR. Pour convertir postal_code en un entier, nous pouvons utiliser CAST comme ceci :

-- convertir char en int
-- générer un nouvel identifiant en ajoutant l'identifiant du magasin et le code postal

select store_id, postal_code, store_id + cast(postal_code AS INTEGER) AS [StoreID-Postalcode] from store_locations

Sortie:

image-25
Combinaison des colonnes store_id et postal_code

Comment convertir un int en char

en SQL
Dans cet exemple, notre objectif est de combiner deux colonnes – store_name et store_id – pour générer une nouvelle colonne.

Rappelez-vous que store_name est un VARCHAR, tandis que store_id est un INTEGER.

Si nous essayons d’additionner int et char sans casting, quel serait le résultat ?

Nous obtiendrions une exception, comme indiqué ci-dessous :

image-26
Exception de conversion de type

Faisons un casting et voyons le résultat.

-- conversion de int en char
-- nom du magasin + ID du magasin

select store_name, store_id, store_name + ' - ' + cast(store_id AS VARCHAR) AS [Storename-storeId]
à partir de store_locations

Sortie :

Nous pouvons voir que notre sortie a été concaténée sans erreur.

image-27

Conclusion

La fonction CAST est très utile pour convertir des types de données et effectuer des calculs complexes.

Essayez ces commandes et expérimentez avec différents types de données comme la date.