|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Inscription : février 2008 Messages : 3 ![]() |
Bonjour,
Je souhaite faire une requête dont l'objet est d'insérer des données dans une table X avec 11 champs à partir d'un select de 14 champs de 6 tables. Pour ce faire, j'ai concaténé 4 champs des 14 champs pour en faire que 11. Voici la requete : Code :
Bref je ne sais pas comment je pourrais faire cela en pl/sql, quelqu'un a t'il une piste? Merci pour votre aide. |
||
|
|
00
|
|
|
#2 |
|
Expert Confirmé Sénior
![]() Inscription : juillet 2003 Messages : 3 459 ![]() |
Pour supprimer la dernière lettre :
si ce n'est qu'un lettre: ASCII(SUBSTR(v_chaine, LENGTH(v_chaine))) : vérifier si c'est entre 48 et 57 pour forcer sur 4 caractères avec des 0 à gauche : LPAD(chaine, 4, '0') Attention si chaine est NULL, ça renvoie NULL, donc faire un NVL(chaine, '0')
__________________
More Code : More Bugs. Less Code : Less Bugs |
|
|
00
|
|
|
#3 |
|
Membre émérite
![]() Inscription : mai 2004 Messages : 739 ![]() |
Si j'ai bien compris dans tes exemples tu voudrais :
1, --> 0001 54 --> 0054 333 --> 0333 1290 --> 1290 52a --> 0052 216a --> 0216 C'est ça ? Si la dernière lettre est obligatoirement 'a', tu peux t'en sortir avec des decode et substr. Ensuite pour ajouter les 0 un LPAD fera l'affaire. Avec ça par exemple : Code :
SELECT lpad(decode(substr('52a',-1),'a',substr('52a',1,INSTR('52a','a')-1)),4,'0') Je te laisse adapter.
__________________
Je ne réponds pas aux questions techniques par MP, le forum est là pour cela. La crypto c'est comme les flambys, une fois que tu as trouvé la languette tu as juste à tirer pour tout faire tomber. (\ _ /) (='.'=) Voici Lapinou. Aidez le à conquérir le monde (")-(") en le reproduisant |
|
|
00
|
|
|
#4 | ||
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
par exemple :
Code :
LPAD c'est mien idiot ![]() Code :
trim(lpad(to_number(translate(lower(TABLE_V.F),'abcdefjhijklmnopqrstuvwxyz',' ')),4,'0')) |
||
|
|
00
|
|
|
#5 | ||
|
Expert Confirmé Sénior
![]() Inscription : juillet 2003 Messages : 3 459 ![]() |
C'est plus simple avec ltrim
Code :
__________________
More Code : More Bugs. Less Code : Less Bugs |
||
|
|
00
|
|
|
#6 |
|
Invité de passage
![]() Inscription : février 2008 Messages : 3 ![]() |
Merci pour vos réponses, je vais tester vos solutions, merci encore.
|
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : février 2008 Messages : 3 ![]() |
Merci pour votre aide à tous et en particulier à orafrance car j'ai utilisé ta sol ca marche nickel
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com