MySQL : extract hostname from url

Comment extraire un hostname depuis une url ?

SELECT DISTINCT
url,
left( right( url, length( url ) -7 ) , instr( right( concat( replace( url, ‘?’, ‘/?’ ) , ‘/’ ) , length( concat( replace( url, ‘?’, ‘/?’ ) , ‘/’ ) ) -7 ) , ‘/’ ) -1 ) AS hostname
FROM `urls`
WHERE lcase( url ) LIKE ‘http:%/%’

UNION

SELECT DISTINCT
url,
left( right( url, length( url ) -8 ) , instr( right( replace( concat( replace( url, ‘?’, ‘/?’ ) , ‘/’ ) , ‘?’, ‘/?’ ) , length( concat( replace( url, ‘?’, ‘/?’ ) , ‘/’ ) ) -8 ) , ‘/’ ) -1 ) AS hostname
FROM `urls`
WHERE lcase( url ) LIKE ‘https:%/%’

 

Capture d’écran 2014-05-15 à 15.58.53

Publié par

Yannick Simon

Né en 1969, ingénieur Arts et Métiers, profil INFP, je suis un dinosaure du web à cause de mon poids et de la date de mon premier job sur le net en 1996. J'ai utilisé tout un tas de langages de programmation, j'ai analysé et contourné tout un tas de problèmes à l'arrache. Je ne suis pas compatible avec les méthodes Agile et autres ... ca me saoule et ca tue toute créativité.