Maison >base de données >tutoriel mysql >Comment lancer correctement un entier sur une chaîne (varchar) dans SQL?

Comment lancer correctement un entier sur une chaîne (varchar) dans SQL?

Patricia Arquette
Patricia Arquetteoriginal
2025-01-24 18:45:10756parcourir

How to Correctly Cast an Integer to a String (varchar) in SQL?

Convertir un entier en chaîne (varchar) en SQL

De nombreuses applications nécessitent la conversion de types de données entiers en chaînes, en particulier le type varchar. Cet article présentera plusieurs façons de convertir int en varchar en SQL.

Quel est le problème ?

Un utilisateur a tenté d'exécuter la requête suivante pour convertir int en varchar :

<code class="language-sql">select CAST(id as VARCHAR(50)) as col1 from t9;

select CONVERT(VARCHAR(50),id) as colI1 from t9;</code>

Ces requêtes entraînent des erreurs.

Quelle est la solution ?

Pour convertir int en varchar, nous devons utiliser le type de données CHAR au lieu du type de données VARCHAR. Les requêtes suivantes fonctionneront :

<code class="language-sql">select CAST(id as CHAR(50)) as col1 from t9;

select CONVERT(id, CHAR(50)) as colI1 from t9;</code>

Pourquoi la solution fonctionne-t-elle ?

Le type de données CHAR est un type de données chaîne de longueur fixe, tandis que VARCHAR est un type de données chaîne de longueur variable. Lorsque nous convertissons un int en CHAR, l'int est converti en une chaîne de la longueur spécifiée et tous les caractères restants sont complétés par des espaces.

D'autre part, le type de données VARCHAR est un type de données chaîne de longueur variable, ce qui signifie que la longueur de la chaîne peut varier. Lorsque nous convertissons int en VARCHAR, l'int est converti en chaîne et la longueur de la chaîne est déterminée par la longueur de l'int.

Notes supplémentaires

Lors de l'utilisation de la fonction CAST, la syntaxe est la suivante :

<code class="language-sql">CAST(expr AS data_type)</code>

Où expr est l'expression à convertir et data_type est le type de données vers lequel convertir.

Lors de l'utilisation de la fonction CONVERTIR, la syntaxe est la suivante :

<code class="language-sql">CONVERT(expr, data_type)</code>

ou

<code class="language-sql">CONVERT(expr USING transcoding_name)</code>

Où expr est l'expression à convertir, data_type est le type de données vers lequel convertir et transcoding_name est le nom de la méthode de conversion.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn