La fonction NET_REG_DOMAIN extrait le domaine enregistré ou enregistrable (c'est-à-dire le suffixe public combiné au libellé immédiatement précédent) d'une URL de type STRING.
Remarques
-
Les données de suffixes publics hébergées 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 un domaine privé dans les données de suffixes publics, alors
NET_REG_DOMAIN(“test.private.com”)renvoieprivate.com(le suffixe public com précédé du libellé private), et nontest.private.com(le domaine privé private.com précédé du libellé test).
Syntaxe
STRING NET_REG_DOMAIN(STRING <url>)
Paramètres
url : obligatoire. Type STRING. Chaîne URL à analyser.
Pour obtenir les meilleurs résultats d'analyse, 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 renvoie NULL si l'une des conditions suivantes est remplie :
Il est impossible d'extraire la partie nom d'hôte (hostname) de l'entrée ;
La partie nom d'hôte (hostname) extraite contient des points adjacents en son milieu (ni au début, ni à la fin) ;
La partie nom d'hôte (hostname) extraite ne contient aucun suffixe public ;
La partie nom d'hôte (hostname) extraite ne contient qu'un suffixe public, sans aucun libellé précédent.
Les données de suffixes publics peuvent évoluer avec le temps. Par conséquent, une entrée qui produit actuellement un résultat NULL pourrait générer une valeur non NULL à l'avenir.
Fonctions d'analyse connexes
Pour analyser d'autres parties de l'URL que le domaine, utilisez les fonctions suivantes :
NET_HOST : extrait la partie nom d'hôte (hostname) de l'URL fournie.
NET_PUBLIC_SUFFIX : extrait le suffixe public (tel que com, org ou net) de l'URL fournie.
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://例子.卷筒纸.中国", "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://例子.卷筒纸.中国 | standard URL with internationalized domain name | 例子.卷筒纸.中国 | 中国 | 卷筒纸.中国 |
| 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
La fonction NET_REG_DOMAIN fait partie des fonctions réseau. Pour plus d'informations sur les autres fonctions liées au réseau, consultez la page Network Functions Overview。