Wanneer kun je deze code gebruiken? Nou, bijvoorbeeld wanneer je een grote site gecrawld hebt met een eigen crawler, en je wilt het meta keywords veld opdelen per keyword. Excel is in zo'n geval te traag.

Dit is de functie. Ik zal je daarna een voorbeeldje geven van hoe je het zelf kunt testen:

CREATE FUNCTION `SPLIT_STRING`(str VARCHAR(255), delim VARCHAR(12), pos INT) RETURNS varchar(255) CHARSET utf8
RETURN REPLACE(SUBSTRING(SUBSTRING_INDEX(str, delim, pos),
        LENGTH(SUBSTRING_INDEX(str, delim, pos-1)) + 1),
        delim, '');

Zelf uitproberen?

Voer de volgende query uit om een test tabelletje te maken met daarin 1 string van keywords:

CREATE TABLE `test` ( `keywords` varchar(255) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

INSERT INTO `test` (`keywords`)
VALUES ('keyword 1,keyword 2, keyword 3,     keyword 4');

Vervolgens kun je de keywords stuk voor stuk selecteren en in een aparte resultaatkolom plaatsen. Ik heb er nog een TRIM() functie bijgezet die spaties eruit filtert (zoals bij keyword 4 nodig is):

SELECT
	-- keyword 1
	SPLIT_STRING(`keywords`,',',1) AS keyword_1,
	-- keyword 4, MET spaties
	SPLIT_STRING(`keywords`,',',4) AS keyword_4,
	-- keyword 4, ZONDER spaties
	trim(SPLIT_STRING(`keywords`,',',4)) AS keyword_4
FROM `test`;

En nu jij. Wat is jouw volgende actie?

Onze artikelen schrijven we vooral om jou op weg te helpen. En mocht je meer hulp nodig hebben, dan weet je ons heus wel te vinden toch ;) Tip: lees meer over: Search analytics.

Vond je dit artikel nuttig? Ja? Mooi! Je doet ons (en mogelijk anderen ook) dan een groot plezier als je dit artikel deelt: