Fungsi NET_REG_DOMAIN mengurai nama domain yang dapat didaftarkan dari string URL. Nama domain tersebut terdiri dari akhiran publik dan label yang mendahuluinya.
Catatan penggunaan
Data akhiran publik di publicsuffix.org mencakup domain pribadi, namun fungsi ini tidak memperlakukan domain pribadi sebagai akhiran publik.
Sebagai contoh, jika private.com adalah domain pribadi dalam data akhiran publik,
NET_REG_DOMAIN("test.private.com")mengembalikanprivate.com(akhiran publik com ditambah label sebelumnya private), bukantest.private.com(domain pribadi private.com ditambah label sebelumnya `test`).
Sintaksis
STRING NET_REG_DOMAIN(STRING <url>)Parameter
url: Wajib. String URL yang akan diurai. Parameter ini harus bertipe STRING.
Untuk hasil terbaik, pastikan string URL sesuai dengan format yang didefinisikan dalam RFC 3986.
Nilai kembali
Mengembalikan nilai bertipe STRING. Fungsi ini mengembalikan NULL jika salah satu kondisi berikut terpenuhi:
Nama host tidak dapat diurai dari input.
Nama host yang diurai mengandung titik-titik berurutan di tengah, bukan di awal atau akhir.
Nama host yang diurai tidak mengandung akhiran publik.
Nama host yang diurai hanya mengandung akhiran publik tanpa label pendahulu.
Data akhiran publik dapat berubah seiring waktu. Oleh karena itu, input yang saat ini mengembalikan nilai NULL mungkin akan mengembalikan nilai non-NULL di masa depan.
Fungsi penguraian terkait
Untuk mengurai bagian-bagian URL selain nama domain, gunakan fungsi berikut:
NET_HOST: Menguraikan nama host dari URL.
NET_PUBLIC_SUFFIX: Menganalisis akhiran publik seperti com, org, atau net dari URL.
Contoh
SELECT input
,description
,NET_HOST(input) AS HOST
,NET_PUBLIC_SUFFIX(input) AS SUFFIX
,NET_REG_DOMAIN(input) AS DOMAIN
FROM (
SELECT "" AS input, "input tidak valid" AS description
UNION ALL SELECT "http://abc.xyz", "URL standar"
UNION ALL SELECT "//user:password@a.b:80/path?query",
"URL standar dengan skema relatif, port, path dan query, tetapi tanpa akhiran publik"
UNION ALL SELECT "https://[::1]:80", "URL standar dengan host IPv6"
UNION ALL SELECT "http://example.web.china", "URL standar dengan nama domain internasional"
UNION ALL SELECT " www.Example.Co.UK ",
"URL non-standar dengan spasi, huruf besar, dan tanpa skema"
UNION ALL SELECT "mailto:?to=&subject=&body=", "URI daripada URL--tidak didukung"
);
+-----------------------------------+-------------------------------------------------------------------------------+-------------------+------------+---------------+
| input | description | host | suffix | domain |
+-----------------------------------+-------------------------------------------------------------------------------+-------------------+------------+---------------+
| | input tidak valid | NULL | NULL | NULL |
| http://abc.xyz | URL standar | abc.xyz | xyz | abc.xyz |
| //user:password@a.b:80/path?query | URL standar dengan skema relatif, port, path dan query, tetapi tanpa akhiran publik | a.b | NULL | NULL |
| https://[::1]:80 | URL standar dengan host IPv6 | [::1] | NULL | NULL |
| http://example.web.china | URL standar dengan nama domain internasional | example.web.china | china | web.china |
| www.Example.Co.UK | URL non-standar dengan spasi, huruf besar, dan tanpa skema | www.Example.Co.UK | Co.UK | Example.Co.UK |
| mailto:?to=&subject=&body= | URI daripada URL--tidak didukung | mailto | NULL | NULL |
+-----------------------------------+-------------------------------------------------------------------------------+-------------------+------------+---------------+Fungsi terkait
NET_REG_DOMAIN merupakan fungsi jaringan. Untuk informasi lebih lanjut tentang fungsi jaringan lainnya, lihat Fungsi Jaringan.