TeKa 8 Posté(e) le 26 juillet 2007 Partager Posté(e) le 26 juillet 2007 Hello les gens ! Mon probleme du jour est d'extraire une partie d'un champ 'text' dans une table, puis de le convertir en 'int'. Le champ a cette gueule la : 07-23-07,00:01:41,0.281496,,udp,128.8.115.251,123,->,255.255.255.255,123,1,0,90,0,INT Moi je veux recuperer le bout de gras ici. Quelqu'un a une idee ? Je pensais a des REGEXP et CAST, mais je sais pas trop les utiliser... merci. EDIT : c'est du MySQL 5.0. Lien à poster
jefelbo 5 Posté(e) le 26 juillet 2007 Partager Posté(e) le 26 juillet 2007 C'est vilain et c est du pl-SQL, mais j'ai que ca sous la main Ici J'ai mis 8 pour l'extraction du champ select SUBSTR('07-23-07,00:01:41,0.281496,,udp,128.8.115.251,123,->,255.255.255.255,123,1,0,90,0,INT', INSTR('07-23-07,00:01:41,0.281496,,udp,128.8.115.251,123,->,255.255.255.255,123,1,0,90,0,INT', ',', 1, 2 ) + 1, 8) from dual Si la taille n'est pas fixe : Ici je calcul à partir l'emplacement de la troisième virgule select SUBSTR('07-23-07,00:01:41,0.281496,,udp,128.8.115.251,123,->,255.255.255.255,123,1,0,90,0,INT', INSTR('07-23-07,00:01:41,0.281496,,udp,128.8.115.251,123,->,255.255.255.255,123,1,0,90,0,INT', ',', 1, 2 ) + 1, INSTR('07-23-07,00:01:41,0.281496,,udp,128.8.115.251,123,->,255.255.255.255,123,1,0,90,0,INT', ',', 1, 3 ) - INSTR('07-23-07,00:01:41,0.281496,,udp,128.8.115.251,123,->,255.255.255.255,123,1,0,90,0,INT', ',', 1, 2 )-1) from dual Lien à poster
TeKa 8 Posté(e) le 26 juillet 2007 Auteur Partager Posté(e) le 26 juillet 2007 Merci de ton aide. Les fonctions INSTR et SUBSTR sont presentes dans MySQL, donc je vais voir ce que ca donne. Lien à poster
Messages recommandés