begin process at 2012 05 26 13:50:34
  Trouver un code source :
 
dans
 
Accueil > Forum > 

SQL

 > 

SQL Server, MSDE, SQL Express

 > 

Requêtes

 > 

conversion varchar en int


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

conversion varchar en int

mercredi 9 août 2006 à 16:57:48 | conversion varchar en int

Boulet1

Bonjour je travaille sur SQL server et je cherche a transformer des champs varchar en int mais je ne trouve pas la solution.

Quand je procède comme cela :
convert(int, Challenge_Client.Nb_Points) as NbPoint
ou
cast(Challenge_Client.Nb_Points as int) as NbPoint

ça me retourne :
Erreur de syntaxe lors de la conversion de la valeur varchar '527.00' vers une colonne de type de données int

et quand je procède comme cela :
convert(int(10), Challenge_Client.Nb_Points) as NbPoint
ou
cast(Challenge_Client.Nb_Points as int(10)) as NbPoint

 ça me retourne :
CAST or CONVERT : attributs non valides spécifiés pour le type 'int'

j'ai vu des solutions ou ils proposaient d'utiliser une fonction mais je veux éviter d'en utiliser.
Si vous pouviez me donne une solution simple et assez rapidement je vous en serait reconnaissant.

Merci d'avance                                                                                                            Boulet1
mercredi 9 août 2006 à 21:38:37 | Re : conversion varchar en int

skweeky

Membre Club Administrateur CodeS-SourceS

C'est la chaîne de caractères qui est incorrecte '527.00' ou même '527,00' quel que soit l'opérateur de converstion CAST ou CONVERT ne peut pas fonctionner.... La chaîne '527' elle, fonctionne... Il ne faut pas oublié qu'il s'agit dans entier, dans l'idée de SQL çà n'a pas de sens s'il y a un séparateur de décimal.

Exemple :
cast('527.00'asfloat)

Est correct, on pourrait même aller plus loin :
cast(cast('527.00'asdecimal)asint)

Quant à la variante avec int(10) effectivement c'est une erreur de syntaxe le (10) ne servant à rien sur SQL Server.

Christian Robert - Winwise
http://blogs.developpeur.org/christian/
MCT - Database Development / Database Administration

mercredi 9 août 2006 à 21:40:19 | Re : conversion varchar en int

skweeky

Membre Club Administrateur CodeS-SourceS

Euh, il y avait des espaces dans mes exemples qui visiblement ont disparus

c'est 'as float', 'as decimal' et 'as int'

Christian Robert - Winwise
http://blogs.developpeur.org/christian/
MCT - Database Development / Database Administration

jeudi 10 août 2006 à 08:53:32 | Re : conversion varchar en int

Boulet1

ok merci, cela résout un de mes problèmes mais je peu pas transformer toutes mes lignes en float une par une la base est trop énorme. et quand je veux transformer mon champs en float sa me donne des erreurs.

ex quand je fais cast(Challenge_Client.Nb_Points as float) j'obtient :

Erreur de conversion du type de données varchar en float.

donc jaimerai savoir si il est possible de modifier toute ma colonne pour aprè pouvoir la modifier en int.

Merci d'avance

jeudi 10 août 2006 à 18:25:02 | Re : conversion varchar en int

skweeky

Membre Club Administrateur CodeS-SourceS

Le 2ème code que j'ai mis en fait 2 CAST :

cast ( cast ( '527.00' as decimal ) as int )

Sinon il faudrait modifier la chaîne avant...

Christian Robert - Winwise
http://blogs.developpeur.org/christian/
MCT - Database Development / Database Administration

vendredi 11 août 2006 à 10:52:04 | Re : conversion varchar en int

Boulet1

Réponse acceptée !
c'est bon jai pu modifier mon champ en décimal ça fonctionne bien merci de ton aide
lundi 8 février 2010 à 15:07:19 | Re : conversion varchar en int

cudenetf

Bonjour, j'ai un probleme de cast aussi et je n'arrive pas a trouver la solution.
j'ai un champ de type varchar ds une table sql
des fois ces données sont de type int
j'ai essayé plusieurs choses :

select convert(decimal,ec_ref)+900 as tri
from matable
where ec_journal='FG' and isnumeric(ec_ref)=1

la ca me renvoie bien ttes les données ( qui ont bien l'air d'etre des entiers)
mais si je fais

select tri from
(select convert(decimal,ec_ref)+900 as tri
from matable
where ec_journal='FG' and isnumeric(ec_ref)=1 ) as q1
where q1.tri=2

j'obtiens le message :Erreur de conversion du type de données varchar en numeric. (ligne 1)

je n'arrive aboslument pas a comprendre

si je lance
select * from matable where ec_journal='FG' and is numeric(ec_ref)<>1

j'ai 0 lignes retournées...


Cette discussion est classée dans : int, client, nb, challenge, varchar


Répondre à ce message

Sujets en rapport avec ce message

elle marche pas ma requètes :'( [ par derf4002 ] Voici deux requètes me renvoyant une erreur, et je ne sais pourquoi :-( On pourrait m'aider ?[QUOTE]CREATE TABLE `medecin` (  `numMedecin` int(255) NO Conversion implicite de données VARCHAR > INT [ par o06 ] Bonjour le forum, j'ai un souci avec les types de données. D'après la doc SQL la conversion du type VARCHAR vers INT se fait de manière implicite. Si Procedure de recherche [ par hardzip ] Bonjour tout le mondeJe suis actuellement entrain de mettre en place un formulaire de recherche avec asp et  .NET et j'ai un probleme qui me bloque de #1005 - Can't create table 'Texloud.tree_elements' (errno: 150) [ par stade13 ] Le bien bonjour à toutes et à tous, voilà j'arrive pas à crée deux tables avec clef étranger voilà mon code CREATE TABLE IF NOT EXISTS `utilisateur` Problème création table en SQL Server [ par anouar2002 ] Salut !!! Je veux faire une création de certains tables en SQL Server 2005, il y a toujours un erreur concernant les clés étrangers je suppose qui me Problème création table avec Netbeans [ par marwen109 ] Bonsoir, j'ai un problème lors de la création de cette table , netbeans m'affiche : [code=autre]Code erreur -1, état SQL 42X01: Erreur de syntaxe : Affichage des données dans SQL [ par bayans ] Je suis un débutant à SQL. J'ai écrit un code mais malheureusement, quand j'essaie de ne rien s'afficher. S'il vous plaît aidez-moi je suis perdu. C Requête SQL --> pas si facile de créer une table [ par philouxy ] Bonjour à tous chers développeurs, Je viens vers vous, car j'ai un gros gros soucis sur mes requêtes... Je me suis lancé depuis peu dans les bases d DUMP dans un fichier bat msql [ par nader1987 ] J'utilise des fichiers .txt où je stocke dans " D:\Mysql\testnader.txt ", lorce que je lance la commande suivante mysql -u root -p NADER -e "source


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,577 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales