|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : juillet 2006 Messages : 6 ![]() |
Bonjour,
J'ai un champ tel que le suivent : "ch1:ch2:ch3" J'ai récupérer une sous chaine en recherchant grâce à la fonction 'locate' la chaine de caractere ':'. Sauf que cela me renvoie comme résultat : "ch2:ch3" Le client ne veut récupérer que "ch3". je me suis dit alors qu'il faut que je partes de la fin de la chaine de caractere et remonter jusqu'au ':' pour récupérer ch3 mais je ne sais pas comment faire. La fonction lastindexof en javascript semble le faire mais je n'ai pas trouvé l'équivalent en db2 et pas trouver comment faire avec la fonction subtr. Pouvez vous m'aider? merci |
|
|
00
|
|
|
#2 | ||
|
Nouveau Membre du Club
![]() Développeur Java Inscription : septembre 2006 Messages : 37 ![]() |
Rapidement, 3 pistes en Java (pour DB2 spécifiquement j'en sais rien) :
1 - La classe java.util.StringTokenizer 2 - Faire plusieurs appels récursifs à indexOf et substr jusqu'à ce que indexOf renvoie -1. 3 - Ecrire toi-même la fonction de recherche en partant de la fin :p En vitesse, un prototype pour le 2-: Code java :
T'auras un truc qui marche aussi en JavaScript en remplacant "public static String" par "function", et "String str, char token" par "str, token". |
||
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : juillet 2006 Messages : 6 ![]() |
merci pour la réponse rapide
mais avez vous une solution pour DB2? |
|
|
00
|
|
|
#4 | ||
![]() ![]() |
Dans les versions DB2 que je connais, il n'y a pas de fonction prédéfinie pour cela. tu dois créer ta propre fonction.
A titre d'exemple, voici une fonction tirée de la doc qui inverse une chaine de caractère. tu peux éventuellement l'utiliser comme tel et puis faire un locate ou un posstr mais le mieux serait de faire une fonction spécifique. Code :
|
||
|
00
|
Copyright © 2000-2012 - www.developpez.com