SQL : concaténer champ et enlever espace UPDATE

SQL : concaténer champ et enlever espace UPDATE - SQL/NoSQL - Programmation

Marsh Posté le 20-05-2011 à 09:52:20    

Bnojour à tous,
 
Après multiples recherches sur le forum , je n'ai pas trouvé ma solution donc je décide de poster ma question !
Je souhaite faire un update d'un champ et rajouter une lettre (D) à la fin selon un filtrage
Exemple :
UPDATE ARTICLE
SET NUM=NUM||D
WHERE SOCIETE='100'
 
Il me met : arithmetic exception, numeric overflow or string truncation.
Quand je fais un select il me met un espace dans le champ num et je pense que c'est mon probleme car le champ NUM fait 4 caractere maximum et de base NUM a déja 3 caracteres.
Si je rajoute un champ + un espace , ça fait 5 caracteres.
alors ma question est la suivante : Comment enlever l'espace ??
Ou alors est ce qu'il y a plus simple a faire ?
Merci grandement pour votre aide
 
Je bosse sur SQL VIEW : Base FIREBIRD

Reply

Marsh Posté le 20-05-2011 à 09:52:20   

Reply

Marsh Posté le 20-05-2011 à 13:16:03    

Personne ?? Est ce que c'est la bonne syntaxe déja ? y'a t'il un autre moyen de concaténer 2 champs ?

Reply

Marsh Posté le 20-05-2011 à 13:31:48    

Tu es sûr que ton champ NUM n'est pas de type numérique ?
 
Si la réponse est qu'il n'est pas numérique :
Je ne connais pas Firebird, donc les idées suivantes ne sont pas forcément valables
 
- s'assurer que NUM et D sont du même type ? (ou les caster, genre TO_CHAR pendant la concaténation)
- faire un REPLACE (<concaténation>, <vide> ) pour virer l'espace.
 
 

Reply

Marsh Posté le 20-05-2011 à 14:04:26    

En fait j'avais prit NUM comme exemple mais c'est un champ qui possede que du texte donc je rajoute seulement une lettre à la fin .  
Quand je fais un select , j'ai l'impression qu'il fait un espace mais en fait c'est pas un probleme de nombre maximum car j'ai la meme erreur sur un champ de 2 caractères. Je ne comprend pas la ...

Reply

Marsh Posté le 20-05-2011 à 16:02:45    

t'as la fonction TRIM() qui peut être intéressante à utiliser

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed