Aller au contenu

[SQL] Extraire une partie d'un champ


TeKa

Messages recommandés

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. :-p

Lien à poster

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
×
×
  • Créer...