A função NET_REG_DOMAIN extrai o nome de domínio registrável de uma string de URL. Um nome de domínio registrável consiste em um sufixo público e no rótulo que o precede.
Observações de uso
-
Os dados de sufixos públicos em publicsuffix.org também incluem domínios privados. Esta função não trata domínios privados como sufixos públicos.
Por exemplo, se private.com for um domínio privado nos dados de sufixos públicos,
NET_REG_DOMAIN("test.private.com")retornaráprivate.com(o sufixo público com mais o rótulo precedente private), e nãotest.private.com(o domínio privado private.com mais o rótulo precedentetest).
Sintaxe
STRING NET_REG_DOMAIN(STRING <url>)
Parâmetros
url: Obrigatório. A string de URL a ser analisada. Este parâmetro deve ser do tipo STRING.
Para obter melhores resultados, a string de URL deve estar em conformidade com o formato definido na RFC 3986.
Valor de retorno
Retorna um valor do tipo STRING. A função retorna NULL se qualquer uma das condições a seguir for verdadeira:
Não é possível analisar o nome do host a partir da entrada.
O nome do host analisado contém pontos consecutivos no meio, e não no início ou no fim.
O nome do host analisado não contém um sufixo público.
O nome do host analisado contém apenas um sufixo público, sem nenhum rótulo precedente.
Os dados de sufixos públicos podem mudar ao longo do tempo. Portanto, uma entrada que retorna NULL agora pode retornar um valor diferente de NULL no futuro.
Funções de análise relacionadas
Para analisar outras partes de uma URL além do nome de domínio, use as seguintes funções:
NET_HOST: Extrai o nome do host de uma URL.
NET_PUBLIC_SUFFIX: Extrai o sufixo público, como com, org ou net, de uma URL.
Exemplos
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 |
+-----------------------------------+-------------------------------------------------------------------------------+-------------------+------------+---------------+
Funções relacionadas
NET_REG_DOMAIN é uma função de rede. Para mais funções de rede, consulte Network Functions Overview.