OVH Cloud OVH Cloud

Errreur de conversion varchar en real

6 réponses
Avatar
6clope
Bonjour,

J'ai un probl=E8me dans une application client-serveur.
Initialement sous Sql Server 6.5 la bdd a migr=E9 en 2000.
Une requ=EAte dans l'application qui fontionnait sans=20
probl=E8me sous 6.5 avant ne fonctionne plus maintenant sous=20
2000

Elle est un peu compliqu=E9, et je ne comprend pas trop se=20
qu'elle fait =E0 part convertir une chaine de caract=E8re en=20
real.

SELECT SUM(CONVERT(real,REVERSE(SUBSTRING(REVERSE(STUFF
(VALEUR + \',\', PATINDEX(\'%,%\', VALEUR+\',\'), 1,=20
\'.\')), 2,100))))
INTO ....
WHERE....

=E0 son execution sous SQL 2000, j'ai une erreur : erreur de=20
conversion du type de donn=E9es varchar en real (20035)

Merci d'avance de votre aide

6 réponses

Avatar
pecky
6clope wrote:
à son execution sous SQL 2000, j'ai une erreur : erreur de
conversion du type de données varchar en real (20035)


'lut,
D'après la doc de Sql 2000, la conversion de varchar en real est
implicite...
Essayes sans le convert, des fois que...

Laurent
Avatar
6clope
Non sans le "convert" cela ne marche pas
Le SUM fait une erreur car il trouve des varchar


-----Message d'origine-----
6clope wrote:
à son execution sous SQL 2000, j'ai une erreur : erreur




de
conversion du type de données varchar en real (20035)


'lut,
D'après la doc de Sql 2000, la conversion de varchar en


real est
implicite...
Essayes sans le convert, des fois que...

Laurent


.



Avatar
AXL
c quoi le message d'erreur !!

"6clope" a écrit dans le message de news:
099a01c4a151$f8066c90$
Bonjour,

J'ai un problème dans une application client-serveur.
Initialement sous Sql Server 6.5 la bdd a migré en 2000.
Une requête dans l'application qui fontionnait sans
problème sous 6.5 avant ne fonctionne plus maintenant sous
2000

Elle est un peu compliqué, et je ne comprend pas trop se
qu'elle fait à part convertir une chaine de caractère en
real.

SELECT SUM(CONVERT(real,REVERSE(SUBSTRING(REVERSE(STUFF
(VALEUR + ',', PATINDEX('%,%', VALEUR+','), 1,
'.')), 2,100))))
INTO ....
WHERE....

à son execution sous SQL 2000, j'ai une erreur : erreur de
conversion du type de données varchar en real (20035)

Merci d'avance de votre aide
Avatar
6clope
Je l'ai indiqué dans mon premier message :
"erreur de conversion du type de données varchar en real
(20035)"


-----Message d'origine-----
c quoi le message d'erreur !!

"6clope" a écrit dans le message de


news:
099a01c4a151$f8066c90$
Bonjour,

J'ai un problème dans une application client-serveur.
Initialement sous Sql Server 6.5 la bdd a migré en 2000.
Une requête dans l'application qui fontionnait sans
problème sous 6.5 avant ne fonctionne plus maintenant sous
2000

Elle est un peu compliqué, et je ne comprend pas trop se
qu'elle fait à part convertir une chaine de caractère en
real.

SELECT SUM(CONVERT(real,REVERSE(SUBSTRING(REVERSE(STUFF
(VALEUR + ',', PATINDEX('%,%', VALEUR+','), 1,
'.')), 2,100))))
INTO ....
WHERE....

à son execution sous SQL 2000, j'ai une erreur : erreur de
conversion du type de données varchar en real (20035)

Merci d'avance de votre aide



.



Avatar
pecky
6clope wrote:
Je l'ai indiqué dans mon premier message :
"erreur de conversion du type de données varchar en real
(20035)"



T'as des exemples de valeurs de "VALEUR"

Laurent
Avatar
lionelp
Bonjour,

Et si tu retires les ça marche ?

Cordialement,
LionelP
-----Message d'origine-----
Non sans le "convert" cela ne marche pas
Le SUM fait une erreur car il trouve des varchar


-----Message d'origine-----
6clope wrote:
à son execution sous SQL 2000, j'ai une erreur :






erreur
de
conversion du type de données varchar en real (20035)


'lut,
D'après la doc de Sql 2000, la conversion de varchar en


real est
implicite...
Essayes sans le convert, des fois que...

Laurent


.



.