PDA

Bekijk Volledige Versie : [MYSQL] string splitten in 4 gedeeltes



Hans Wolters
28/05/03, 12:20
Hoi,

Heb een klein probleempje op te lossen wat ik eigenlijk direct in Mysql
zelf wil doen.

Situatie:

Tabel met een string (ipremove) en 4 int velden waar ik de octs in wil
gooien, reps. ip, octa, octb, octc, octd.

Nu kan ik natuurlijk prima een perl/php script maken die het uitleest
en de waardes in de juiste velden gooit maar volgens mij moet het
in 1 sql statement kunnen.

Ik heb al het volgende:

UPDATE ipremove SET
octa = SUBSTRING_INDEX( ip, '.', 1),
octd = SUBSTRING_INDEX( ip, '.', -1);

Zodra ik echter SUBSTRING_INDEX ga nesten om octb/c eruit te halen
gaat mysql echter barfen. Iemand enig idee of dit simpel is op te lossen?

Bij voorbaat dank,

Hans

--
pas op, nomailwanted is een spamtrap.

Hans Wolters
28/05/03, 13:05
On Wed, 28 May 2003 10:10:00 +0000 (UTC), Hans Wolters
<nomailwanted@e35203.upc-e.chello.nl> wrote:

> UPDATE ipremove SET
> octa = SUBSTRING_INDEX( ip, '.', 1),
> octd = SUBSTRING_INDEX( ip, '.', -1);
>
> Zodra ik echter SUBSTRING_INDEX ga nesten om octb/c eruit te halen
> gaat mysql echter barfen. Iemand enig idee of dit simpel is op te lossen?

Zelf al gevonden, zat niet goed te nesten.

UPDATE ipremove SET
octa = SUBSTRING_INDEX( ip, '.', 1),
octb = SUBSTRING_INDEX(SUBSTRING_INDEX(ip, '.', 2),'.',-1),
octc = SUBSTRING_INDEX(SUBSTRING_INDEX(ip, '.', -2),'.',1),
octd = SUBSTRING_INDEX( ip, '.', -1);

Groet,

Hans
--
pas op, nomailwanted is een spamtrap.