J'utilise Sybase et je fais une sélection qui me renvoie une colonne appelée "iftype", mais son type est int et j'ai besoin de 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 ?
sql
select
type-conversion
sybase
Murilo
la source
la source
Réponses:
Utilisez la fonction de conversion.
la source
VARCHAR
àINT
mais je réponds à sa question, pas au message d'erreur.varchar
où unint
est nécessaire. Vous devez écrire votre instruction SQL réelle pour que nous puissions vous aider.varchar(11)
cas si le nombre est un grand nombre négatif.Utilisez la
STR
fonction:Arguments
float_expression
Est une expression de type de données numérique approximatif (flottant) 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 le nombre de places à droite du séparateur décimal. la décimale doit être inférieure ou égale à 16. Si la décimale est supérieure à 16, le résultat est tronqué à seize places à droite de la virgule.
source: https://msdn.microsoft.com/en-us/library/ms189527.aspx
la source
STR()
devrait être la bonne réponse, c'est plus simple et moins sujet aux erreurs que les alternatives.Vous pouvez utiliser la
CAST
fonction:la source
En fait, vous n'avez pas besoin d'utiliser STR ou Convert. Sélectionnez simplement 'xxx' + LTRIM (1) fait le travail. Peut-être, LTRIM utilise Convert ou STR sous le capot.
LTRIM supprime également le besoin de fournir la longueur et généralement 10 par défaut est assez bon pour la conversion d'entier en chaîne.
la source
CONVERT(DATA_TYPE , Your_Column)
est la syntaxe de la méthode CONVERT en SQL. À partir de cette fonction de conversion, nous pouvons convertir les données de la colonne qui se trouve sur le côté droit de la virgule (,) en type de données dans le côté gauche de la virgule (,) Veuillez voir l'exemple ci-dessous.la source