Get host name from url, function in mysql

Címkék: web, mysql, function
Létrehozva: 2010. január 25. 08:45
A függvényt azért készítettem, hogy az adatbázisban tárolt hosszú HTTP_REFERER URL-ekból kiszedjem a domain nevet.
Here:
DROP FUNCTION IF EXISTS `getHost`;
DELIMITER;;
CREATE FUNCTION `getHost`( url VARCHAR(200) ) RETURNS varchar(200) CHARSET utf8
    DETERMINISTIC
BEGIN
        DECLARE tmpstr VARCHAR(200);
        DECLARE hostname VARCHAR(200);
        SELECT SUBSTR( url, LOCATE( '://', url ) + 3 ) INTO tmpstr;
        SELECT SUBSTR( tmpstr, 1, LOCATE( '/', tmpstr ) - 1 ) INTO hostname;
        RETURN IF( hostname IS NULL, url, hostname );
    END;;
DELIMITER;
Examlpe use:
SELECT getHost( 'http://www.sod.hu/params' ); # return: www.sod.hu