web-dev-qa-db-fra.com

Convertir INT en VARCHAR SQL

J'utilise Sybase et je fais une sélection qui me renvoie une colonne appelée "iftype", mais son type est int et je dois convertir en varchar. Lorsque j'essaie de faire la sélection sans la fonction de conversion, j'obtiens cette erreur:

Code d'erreur 257, état SQL 37000: la conversion implicite du type de données 'VARCHAR' en 'INT' n'est pas autorisée. Utilisez la fonction CONVERT pour exécuter cette requête.

Je ne sais pas comment implémenter la fonction CONVERT. Quelqu'un peut-il m'aider s'il-vous-plaît ?

310
Murilo

Utilisez la fonction de conversion.

SELECT CONVERT(varchar(10), field_name) FROM table_name
543
Tobberoth

Utilisez la fonction STR:

SELECT STR(field_name) FROM table_name

Arguments

float_expression

Expression de type de données numérique approximatif (float) avec un point décimal.

longueur

Est la longueur totale. Cela inclut le point décimal, le signe, les chiffres et les espaces. La valeur par défaut est 10.

décimal

Est-ce le nombre de places à la droite du point décimal. Le nombre décimal doit être inférieur ou égal à 16. Si le nombre décimal est supérieur à 16, le résultat est tronqué à seize positions à droite du séparateur.

source: https://msdn.Microsoft.com/en-us/library/ms189527.aspx

87
Rei Salazar

Vous pouvez utiliser la fonction CAST:

SELECT CAST(your_column_name AS varchar(10)) FROM your_table_name
22
Hamid Heydarian