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
kerékpár
28
veterán
19
web
11
ubuntu
7
php
5
triál
4
Weiss Manfréd
4
országúti
4
adodb
3
adatbázis
3
linux
3
Velvárt
3
apache
3
mysql
3
javascript
3
mootools
3
ffmpeg
2
Csepel
2
alkatrészek
2
veretán
2