La fonction NET_REG_DOMAIN extrait le domaine enregistrable d'une chaîne URL. Un domaine enregistrable correspond au suffixe public auquel s'ajoute l'étiquette qui le précède immédiatement.
Notes d'utilisation
-
Les données de suffixes publics disponibles sur publicsuffix.org incluent également des domaines privés. Cette fonction ne considère pas les domaines privés comme des suffixes publics.
Par exemple, si private.com est répertorié comme domaine privé dans les données de suffixes publics,
NET_REG_DOMAIN("test.private.com")renvoieprivate.com(le suffixe public com précédé de l'étiquette private), et nontest.private.com(le domaine privé private.com précédé de l'étiquettetest).
Syntaxe
STRING NET_REG_DOMAIN(STRING <url>)
Paramètres
url : Obligatoire. Chaîne URL à analyser. Ce paramètre doit être de type STRING.
Pour obtenir des résultats optimaux, la chaîne URL doit respecter le format défini par la RFC 3986.
Valeur de retour
Renvoie une valeur de type STRING. La fonction retourne NULL si l'une des conditions suivantes est remplie :
Le nom d'hôte ne peut pas être extrait de l'entrée.
Le nom d'hôte extrait contient des points consécutifs au milieu de la chaîne, mais ni au début ni à la fin.
Le nom d'hôte extrait ne contient aucun suffixe public.
Le nom d'hôte extrait se compose uniquement d'un suffixe public, sans étiquette précédente.
Les données relatives aux suffixes publics peuvent évoluer avec le temps. Par conséquent, une entrée qui renvoie actuellement une valeur NULL pourrait retourner une valeur non NULL à l'avenir.
Fonctions d'analyse connexes
Pour analyser d'autres parties d'une URL que le nom de domaine, utilisez les fonctions suivantes :
NET_HOST : Extrait le nom d'hôte d'une URL.
NET_PUBLIC_SUFFIX : Extrait le suffixe public (par exemple com, org ou net) d'une URL.
Exemples
SELECT input
,description
,NET_HOST(input) AS HOST
,NET_PUBLIC_SUFFIX(input) AS SUFFIX
,NET_REG_DOMAIN(input) AS DOMAIN
FROM (
SELECT "" AS input, "invalid input" AS description
UNION ALL SELECT "http://abc.xyz", "standard URL"
UNION ALL SELECT "//user:password@a.b:80/path?query",
"standard URL with relative scheme, port, path and query, but no public suffix"
UNION ALL SELECT "https://[::1]:80", "standard URL with IPv6 host"
UNION ALL SELECT "http://example.web.china", "standard URL with internationalized domain name"
UNION ALL SELECT " www.Example.Co.UK ",
"non-standard URL with spaces, upper case letters, and without scheme"
UNION ALL SELECT "mailto:?to=&subject=&body=", "URI rather than URL--unsupported"
);
+-----------------------------------+-------------------------------------------------------------------------------+-------------------+------------+---------------+
| input | description | host | suffix | domain |
+-----------------------------------+-------------------------------------------------------------------------------+-------------------+------------+---------------+
| | invalid input | NULL | NULL | NULL |
| http://abc.xyz | standard URL | abc.xyz | xyz | abc.xyz |
| //user:password@a.b:80/path?query | standard URL with relative scheme, port, path and query, but no public suffix | a.b | NULL | NULL |
| https://[::1]:80 | standard URL with IPv6 host | [::1] | NULL | NULL |
| http://example.web.china | standard URL with internationalized domain name | example.web.china | china | web.china |
| www.Example.Co.UK | non-standard URL with spaces, upper case letters, and without scheme | www.Example.Co.UK | Co.UK | Example.Co.UK |
| mailto:?to=&subject=&body= | URI rather than URL--unsupported | mailto | NULL | NULL |
+-----------------------------------+-------------------------------------------------------------------------------+-------------------+------------+---------------+
Fonctions connexes
NET_REG_DOMAIN est une fonction réseau. Pour plus d'informations sur les autres fonctions réseau, consultez la rubrique Présentation des fonctions réseau.