Numéric-->Chaine de caractère

Numéric-->Chaine de caractère - SQL/NoSQL - Programmation

Marsh Posté le 15-05-2003 à 10:05:15    

Est-ce que qq saurait faire une telle transformation?
J'en ai besoin pour faire la jointure entre 2 champs: l'un est un numeric et l'autre un character.
 :??:  :sarcastic:  :ouch:

Reply

Marsh Posté le 15-05-2003 à 10:05:15   

Reply

Marsh Posté le 15-05-2003 à 10:24:54    

Je ne suis pas un expoert, mais je ne pense pas qu'il existe de cast dans un sgbd...
Après, selon le langage qui exploite ta base, tu peux caster d'entier à string... Faut que développes un peu ton problème [:spamafote]

Reply

Marsh Posté le 15-05-2003 à 10:58:28    

En fait je dois sélectionner des enregistrements présents dans une tables lorsque les éléments d'une autre tables concordent avec ceux de la première tables.
 
Le problème est que la clé primaire de la première table est un numéric et la clé primaire de la seconde table est une chaine de caractères.
Je ne peux donc pas faire de jointure sur les clés primaires.

Reply

Marsh Posté le 15-05-2003 à 11:19:26    

C'est koi komme SGBD?


---------------
Si tu regardes ce que le canard mange, tu ne mangeras pas de canard.
Reply

Marsh Posté le 15-05-2003 à 11:20:31    

db2 pk?

Reply

Marsh Posté le 15-05-2003 à 11:29:03    

je connais pas db2, mais j'ai trouvé ca :
 
http://wwwlsi.supelec.fr/www/yb/po [...] 40.html#50

Reply

Marsh Posté le 15-05-2003 à 11:32:59    

sisi c'est possible mais je ne sais plus comment ca fonctionne. C'est une seule bete instruction il me semble (pour SQL en tout cas)
tu devrais trouver ca facilement sur le net

Reply

Marsh Posté le 15-05-2003 à 11:33:59    

c'est la fonction TO_CHAR...
 
polo, [:grilled]

Reply

Marsh Posté le 15-05-2003 à 11:40:38    

ça n'a pas l'air de marcher sous DB2!
Dommage!
Merci qd même
Est-ce que vous auriez d'autres solutions possibles?

Reply

Marsh Posté le 15-05-2003 à 14:13:22    

Personne ne saurait comment faire?

Reply

Marsh Posté le 15-05-2003 à 14:13:22   

Reply

Marsh Posté le 15-05-2003 à 14:13:48    

TO_CHAR ca marche pas ?
 
C'est pas sous la norme SQL db2 ?

Reply

Marsh Posté le 15-05-2003 à 14:20:39    

ça ne marche pas à moins que la synataxe que j'utilise soit fausse.
Saurais-tu la syntaxe?

Reply

Marsh Posté le 15-05-2003 à 14:32:36    

il me semble que c'est TO_CHAR(nombre,format)
 
 
De toute facon, tout est expliqué la dessus :
http://wwwlsi.supelec.fr/www/yb/po [...] 40.html#50

Reply

Marsh Posté le 15-05-2003 à 14:45:35    

Voila la requête que j'exécute
SELECT to_char(T01.CLCLI,'9999';) FROM CLIALPTMP as T01
 
Voici le msg d'erreur
[SQL0204] TO_CHAR de type *N dans *LIBL non trouvé. Cause . . . . . : TO_CHAR de type *N dans *LIBL n'a pas été trouvé. S'il s'agit d'une instruction ALTER TABLE et si le type est *N, il n'a pas été trouvé de contrainte. S'il ne s'agit pas d'une instruction ALTER TABLE et que le type est *N, aucune fonction, procédure ou aucun déclencheur n'a été trouvé.Que faire . . . : Modifiez le nom, puis renouvelez votre demande. Si l'objet est un groupe de noeuds, vérifiez que le produit DB2 Multisystem est installé sur votre système et créez un groupe de noeuds à l'aide de la commande CL CRTNODGRP.
L'instruction mise en évidence a échoué, entraînant l'interruption du traitement

Reply

Marsh Posté le 15-05-2003 à 14:51:01    

:??:  
J'y connais rien à db2, mais la j'ai rien compris à l'erreur...
 
Faut que quelqu'un d'autre vienne, moi j'ai rien trouvé d'autre...
 
Ta syntaxe a l'air bonne...

Reply

Marsh Posté le 15-05-2003 à 14:57:48    

merci qd même

Reply

Marsh Posté le 15-05-2003 à 15:03:03    

essaye ça:
SELECT coalesce(char(T01.CLCLI),'9999';) FROM CLIALPTMP as T01  
 
normalement ça marche j'ai testé sur un DB2 ( AS400 ).
 
Par contre suivant les versions, certains fonctions existent ou pas ( comme ifnull par exemple et c'est pour ça que j'ai mis un coalesce).

Reply

Marsh Posté le 15-05-2003 à 15:32:12    

ça marche enfin
Merci beaucoup tu m'enlèves une sacrée épine du pied.
 
Ps je suis également sur un AS400
Merci encore :)  ;)  :wahoo:  :p

Reply

Sujets relatifs:

Leave a Replay

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