Précédent   Forum des professionnels en informatique > Bases de données > DB2
DB2 Forum d'entraide technique sur la base de données DB2. Voir aussi -> Rubrique DB2
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/12/2011, 14h42   #1
Futur Membre du Club
 
Inscription : juin 2003
Messages : 97
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 97
Points : 18
Points : 18
Par défaut Problème de conversion avec INTEGER

Bonjour,
Je dois convertir des chiffres contenus dans un champs STRING, et ce via la fonction INTEGER, pour pouvoir faire des calculs dessus.
Le problème étant que dans certains cas, ce champ contient des caractères. Ce qui fait que j'ai l'erreur "Invalid character found in a character string argument of the function INTEGER" à un certain moment lors de la conversion.

Savez-vous comment je peux pallier à ce problème?


Merci et bon réveillon !

Sempire
sempire est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/12/2011, 16h47   #2
Membre chevronné
 
Avatar de bernard59139
 
Administrateur de base de données
Inscription : octobre 2006
Messages : 503
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Activité : Administrateur de base de données

Informations forums :
Inscription : octobre 2006
Messages : 503
Points : 688
Points : 688
bonjour

Avec le SQL de db2 z/os, il n'y a pas de solution toute faite.

le seul moyen que j'ai trouvé, est de selectionner les lignes avec un truc du style
Code :
1
2
when translate(lazone,'0000000000','1234567890') = COPIES('0',length(strip(lazone))
AND lazone <> ' '
Cette sélection doit être faite AVANT de faire les calculs, car
Code :
1
2
3
when translate(lazone,'0000000000','1234567890') = COPIES('0',length(strip(lazone))
AND lazone <> ' '
AND int(lazone) >0
peut donner de mauvaises surprises (ca passe en test, ca ne passe pas en prod)

B59

ps: requête écrite de mémoire, pas de machine sous la main avant l'année prochaine
bernard59139 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h32.


 
 
 
 
Partenaires

Hébergement Web