NET_PUBLIC_SUFFIX 関数は、URL 文字列から com、org、net などのパブリックサフィックスを解析します。
注
パブリックサフィックスは、publicsuffix.org に登録されている ICANN ドメインです。publicsuffix.org のパブリックサフィックスデータには、プライベートドメインも含まれています。この関数はプライベートドメインを無視します。
構文
STRING NET_PUBLIC_SUFFIX(STRING <url>)パラメーター
url: 必須。解析する URL 文字列。このパラメーターは STRING 型である必要があります。
説明
最良の結果を得るには、URL 文字列が RFC 3986 で定義されているフォーマットに準拠している必要があります。
戻り値
STRING 型の値を返します。次のいずれかの条件に当てはまる場合、この関数は NULL を返します。
ホスト名を URL 文字列から解析できません。
解析されたホスト名に、先頭または末尾以外に隣接したドットが含まれています。
解析されたホスト名にパブリックサフィックスが含まれていません。
説明
パブリックサフィックスデータは時間とともに変更される可能性があります。したがって、現在 NULL 値を返す入力が、将来的に NULL 以外の値を返す可能性があります。
関連する解析関数
パブリックサフィックス以外の URL の部分を解析するには、次の関数を使用します。
NET_HOST: URL からホスト名を解析します。
NET_REG_DOMAIN: URL から登録済みまたは登録可能なドメイン (パブリックサフィックスとその前のラベル) を解析します。
例
SELECT input
,description
,NET_HOST(input) AS HOST
,NET_PUBLIC_SUFFIX(input) AS SUFFIX
,NET_REG_DOMAIN(input) AS DOMAIN
FROM (
SELECT "" AS input, "無効な入力" AS description
UNION ALL SELECT "http://abc.xyz", "標準 URL"
UNION ALL SELECT "//user:password@a.b:80/path?query",
"相対スキーム、ポート、パス、クエリを持つ標準 URL ですが、パブリックサフィックスはありません"
UNION ALL SELECT "https://[::1]:80", "IPv6 ホストを持つ標準 URL"
UNION ALL SELECT "http://example.web.china", "国際化ドメイン名を持つ標準 URL"
UNION ALL SELECT " www.Example.Co.UK ",
"スペース、大文字、スキームなしの非標準 URL"
UNION ALL SELECT "mailto:?to=&subject=&body=", "URL ではなく URI--サポート対象外"
);
+-----------------------------------+-------------------------------------------------------------------------------+-------------------+------------+---------------+
| 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 |
+-----------------------------------+-------------------------------------------------------------------------------+-------------------+------------+---------------+関連関数
NET_PUBLIC_SUFFIX はネットワーク関数です。ネットワーク関数の詳細については、「ネットワーク関数」をご参照ください。