Procedura zastępująca funkcję EXPLODE z PHP i inne przydatne... Zródło: Ondra.Žižka.cz (nawet generator sekwencji, choć znam lepszy sposób)
CREATE PROCEDURE lib_Explode( sSepar VARCHAR(255), saVal TEXT )
body:
BEGIN
DROP TEMPORARY TABLE IF EXISTS lib_Explode; CREATE TEMPORARY TABLE lib_Explode(
`pos` int unsigned NOT NULL auto_increment,
`val` VARCHAR(255) NOT NULL,
PRIMARY KEY (`pos`)
) ENGINE=Memory COMMENT='Explode() results.';
IF sSepar IS NULL OR saVal IS NULL THEN LEAVE body; END IF;
SET @saTail = saVal;
SET @iSeparLen = LENGTH( sSepar );
create_layers:
WHILE @saTail != '' DO
# Get the next value
SET @sHead = SUBSTRING_INDEX(@saTail, sSepar, 1);
SET @saTail = SUBSTRING( @saTail, LENGTH(@sHead) + 1 + @iSeparLen );
INSERT INTO lib_Explode SET val = @sHead;
END WHILE;
END; $$
Użycie:
CALL lib_Explode( ',' , 'Ahoj, jak se máte, 212' );
select * from lib_explode;
- http://mysql-sr-lib.sourceforge.net/ rożne dziwne funkcje, w tym operacje na tablicach, gdy ktoś potrzebował, ale to chyba tylko do generowania danych do AJAXa...
Witaj w Dolinie Muminków. Lista wszystkich niusów jest po prawej (Archiwum bloga)...
MySQL
Subskrybuj:
Posty (Atom)