Extrait un composant spécifique d'une chaîne URL et renvoie sa valeur sous forme de VARCHAR.
Renvoie NULL si urlStr est NULL.
Syntaxe
VARCHAR PARSE_URL(VARCHAR urlStr, VARCHAR partToExtract [, VARCHAR key])
Arguments
|
Argument |
Type de données |
description |
|
|
VARCHAR |
L'URL à analyser. |
|
|
VARCHAR |
Le composant URL à extraire. Valeurs valides : |
|
|
VARCHAR |
La clé du paramètre de requête dont la valeur doit être extraite. Facultatif. |
Valeurs valides pour partToExtract
|
Valeur |
description |
Exemple |
|
|
Le nom de domaine ou l'adresse IP. |
|
|
|
Le composant chemin, hors chaîne de requête. |
|
|
|
La chaîne de requête complète, ou la valeur d'une clé spécifique lorsque |
|
|
|
L'identifiant de fragment situé après |
|
|
|
Le schéma de l'URL. |
|
|
|
Le chemin et la chaîne de requête combinés. |
|
|
|
L'hôte et le port combinés. |
|
|
|
Les informations utilisateur situées avant |
|
Exemple
Table d'entrée T1 :
|
url1 (VARCHAR) |
url2 (VARCHAR) |
|
|
NULL |
SELECT PARSE_URL(url1, 'QUERY', 'query') AS var1, -- returns '1'
PARSE_URL(url1, 'QUERY') AS var2, -- returns 'query=1'
PARSE_URL(url1, 'HOST') AS var3, -- returns 'facebook.com'
PARSE_URL(url1, 'PATH') AS var4, -- returns '/path/p1.php'
PARSE_URL(url1, 'REF') AS var5, -- returns NULL (no fragment)
PARSE_URL(url1, 'PROTOCOL') AS var6, -- returns 'http'
PARSE_URL(url1, 'FILE') AS var7, -- returns '/path/p1.php?query=1'
PARSE_URL(url1, 'AUTHORITY') AS var8, -- returns 'facebook.com'
PARSE_URL(url1, 'USERINFO') AS var9, -- returns NULL (no userinfo)
PARSE_URL(url2, 'QUERY') AS var10 -- returns NULL (urlStr is NULL)
FROM T1;
Résultat :
|
var1 |
var2 |
var3 |
var4 |
var5 |
|
1 |
query=1 |
facebook.com |
/path/p1.php |
NULL |
|
var6 |
var7 |
var8 |
var9 |
var10 |
|
http |
/path/p1.php?query=1 |
facebook.com |
NULL |
NULL |
notes sur l'utilisation
Si
urlStrest NULL, tous les résultats renvoient NULL.