All Products
Search
Document Center

AnalyticDB:Fungsi URL

Last Updated:Jun 26, 2025

Topik ini menjelaskan sintaksis dari fungsi URL dan memberikan contoh penggunaannya.

  • PARSE_URL: Mengembalikan konten tertentu dari sebuah URL.

  • URL_DECODE: Mendekode string URL yang dikodekan berdasarkan standar application/x-www-form-urlencoded dan mengembalikan hasilnya.

  • URL_ENCODE: Mengkodekan string URL berdasarkan standar application/x-www-form-urlencoded dan mengembalikan hasilnya.

  • URL_EXTRACT_FRAGMENT: Mengembalikan pengenal fragmen dari sebuah URL.

  • URL_EXTRACT_HOST: Mengembalikan nama host atau alamat IP dari sebuah URL.

  • URL_EXTRACT_PARAMETER: Mengembalikan nilai parameter tertentu dari bagian kueri sebuah URL.

  • URL_EXTRACT_PATH: Mengembalikan informasi jalur dari sebuah URL.

  • URL_EXTRACT_PORT: Mengembalikan informasi port dari sebuah URL.

  • URL_EXTRACT_PROTOCOL: Mengembalikan informasi protokol dari sebuah URL.

  • URL_EXTRACT_QUERY: Mengembalikan informasi kueri dari sebuah URL.

PARSE_URL

PARSE_URL(url, part [,key] )
  • Deskripsi: Fungsi ini mengembalikan konten yang ditentukan oleh part dari url.

    Aturan:

    • Jika part disetel ke QUERY, fungsi ini mengembalikan value yang sesuai dengan key.

    • Jika nilai dari url, part, atau key adalah NULL, fungsi ini mengembalikan NULL.

    • Jika part disetel ke nilai yang tidak valid, fungsi ini mengembalikan NULL.

    Nilai dari part tidak peka huruf besar/kecil. Nilai-nilai berikut didukung:

    • HOST: Nama host atau alamat IP dalam URL.

    • PATH: Informasi jalur dalam URL. Contoh: /path/to/resource.

    • QUERY: Bagian kueri dalam URL, yang dimulai dengan ?.

    • REF: Pengenal fragmen dalam URL, yang dimulai dengan #.

    • PROTOCOL: Informasi protokol dalam URL. Contoh: http atau https.

    • AUTHORITY: Informasi pengguna, nama host, dan nomor port dalam URL.

    • FILE: Jalur file dari URL.

    • USERINFO: Informasi pengguna dalam URL, termasuk nama pengguna dan kata sandi.

  • Tipe data dari nilai input: STRING untuk url, part, dan key.

  • Tipe data dari nilai pengembalian: STRING.

  • Contoh:

    • Mengembalikan nama host atau alamat IP dari url. Pernyataan sampel:

      SELECT parse_url('file://username:password@example.com:8042/over/there/index.dtb?type=animal&name=narwhal#nose', 'HOST');

      Hasil sampel:

      example.com
    • Mengembalikan jalur dari url. Pernyataan sampel:

      SELECT parse_url('file://username:password@example.com:8042/over/there/index.dtb?type=animal&name=narwhal#nose', 'PATH');

      Hasil sampel:

      /over/there/index.dtb
    • Mengembalikan bagian kueri dari url. Pernyataan sampel:

      SELECT parse_url('file://username:password@example.com:8042/over/there/index.dtb?type=animal&name=narwhal#nose', 'QUERY', 'type');

      Hasil sampel:

      animal
    • Mengembalikan pengenal fragmen dari url. Pernyataan sampel:

      SELECT parse_url('file://username:password@example.com:8042/over/there/index.dtb?type=animal&name=narwhal#nose', 'REF');

      Hasil sampel:

      nose
    • Mengembalikan protokol dari url. Pernyataan sampel:

      SELECT parse_url('file://username:password@example.com:8042/over/there/index.dtb?type=animal&name=narwhal#nose', 'PROTOCOL');

      Hasil sampel:

      file
    • Mengembalikan informasi pengguna, nama host, dan nomor port dari url. Pernyataan sampel:

      SELECT parse_url('file://username:password@example.com:8042/over/there/index.dtb?type=animal&name=narwhal#nose', 'AUTHORITY');

      Hasil sampel:

      username:password@example.com:8042
    • Mengembalikan informasi pengguna dari url. Pernyataan sampel:

      SELECT parse_url('file://username:password@example.com:8042/over/there/index.dtb?type=animal&name=narwhal#nose', 'USERINFO');

      Hasil sampel:

      username:password

URL_DECODE

URL_DECODE(input)
  • Deskripsi: Fungsi ini mendekode string URL yang dikodekan berdasarkan standar application/x-www-form-urlencoded dan mengembalikan hasilnya.

    Aturan: Jika nilai dari input adalah NULL, fungsi ini mengembalikan NULL.

    Aturan pengkodean:

    • Karakter a hingga z, A hingga Z, dan 0 hingga 9 tidak berubah.

    • Tanda titik (.), tanda hubung (-), tanda bintang (*), dan garis bawah (_) dipertahankan.

    • Tanda tambah (+) diubah menjadi spasi.

    • Urutan yang dikodekan persen (%xy) diubah menjadi nilai byte yang sesuai, dan aliran byte yang dihasilkan didekode sebagai string yang dikodekan UTF-8.

  • Tipe data dari nilai input: STRING.

  • Tipe data dari nilai pengembalian: STRING.

  • Contoh:

    Dekode string URL yang dikodekan berdasarkan standar application/x-www-form-urlencoded dan mengembalikan hasilnya. Pernyataan sampel:

    SELECT url_decode('example+for+url_decode%3A%2F%2F+%28fdsf%29');

    Hasil sampel:

    example for url_decode:// (fdsf)

URL_ENCODE

URL_ENCODE(input)
  • Deskripsi: Fungsi ini mengkodekan string URL berdasarkan standar application/x-www-form-urlencoded dan mengembalikan hasilnya.

    Aturan: Jika nilai dari input adalah NULL, fungsi ini mengembalikan NULL.

    Aturan pengkodean:

    • Karakter a hingga z, A hingga Z, dan 0 hingga 9 tidak berubah.

    • Tanda titik (.), tanda hubung (-), tanda bintang (*), dan garis bawah (_) dipertahankan.

    • Tanda tambah (+) diubah menjadi spasi.

    • Karakter lainnya dikodekan sebagai nilai byte menggunakan UTF-8. Setiap nilai byte dalam format %xy, di mana xy adalah representasi heksadesimal yang sesuai.

  • Tipe data dari nilai input: STRING.

  • Tipe data dari nilai pengembalian: STRING.

  • Contoh:

    Kodekan string example for url_encode:// (fdsf) berdasarkan standar application/x-www-form-urlencoded dan mengembalikan hasilnya.

    SELECT url_encode('example for url_encode:// (fdsf)');

    Hasil sampel:

    example+for+url_encode%3A%2F%2F+%28fdsf%29

URL_EXTRACT_FRAGMENT

URL_EXTRACT_FRAGMENT(url)
  • Deskripsi: Fungsi ini mengembalikan pengenal fragmen yang dimulai dengan # dari url.

    Aturan:

    • Jika nilai dari url adalah NULL atau tidak valid, fungsi ini mengembalikan NULL.

    • Jika url tidak mengandung pengenal fragmen, fungsi ini mengembalikan string kosong.

  • Tipe data dari nilai input: STRING.

  • Tipe data dari nilai pengembalian: STRING.

  • Contoh:

    Mengembalikan pengenal fragmen dari url. Pernyataan sampel:

    SELECT url_extract_fragment('http://example.com/path1/p.php?k1=v1&k2=v2#Ref1');

    Hasil sampel:

    Ref1

URL_EXTRACT_HOST

URL_EXTRACT_HOST(url)
  • Deskripsi: Fungsi ini mengembalikan nama host atau alamat IP dari url.

    Aturan: Jika nilai dari url adalah NULL atau tidak valid, fungsi ini mengembalikan NULL.

  • Tipe data dari nilai input: STRING.

  • Tipe data dari nilai pengembalian: STRING.

  • Contoh:

    Mengembalikan nama host atau alamat IP dari url. Pernyataan sampel:

    SELECT url_extract_host('http://example.com/path1/p.php?k1=v1&k2=v2#Ref1');

    Hasil sampel:

    example.com

URL_EXTRACT_PARAMETER

URL_EXTRACT_PARAMETER(url, parameter)
  • Deskripsi: Fungsi ini mengembalikan informasi yang ditentukan oleh parameter dari bagian kueri url.

    Aturan: Jika nilai dari url adalah NULL, nilai dari parameter adalah NULL, atau bagian kueri dari url tidak mengandung parameter, fungsi ini mengembalikan NULL.

  • Tipe data dari nilai input: STRING untuk url dan parameter.

  • Tipe data dari nilai pengembalian: STRING.

  • Contoh:

    • Mengembalikan informasi yang ditentukan oleh k1 dari bagian kueri url. Pernyataan sampel:

      SELECT url_extract_parameter('http://example.com/path1/p.php?k1=v1&k2=v2&k3&k4#Ref1', 'k1');

      Hasil sampel:

      v1
    • Mengembalikan informasi yang ditentukan oleh k5 dari bagian kueri url. Pernyataan sampel:

      SELECT url_extract_parameter('http://example.com/path1/p.php?k1=v1&k2=v2&k3&k4#Ref1', 'k5');

      Hasil sampel:

      NULL

URL_EXTRACT_PATH

URL_EXTRACT_PATH(url)
  • Deskripsi: Fungsi ini mengembalikan informasi jalur dari url.

    Aturan:

    • Jika nilai dari url adalah NULL atau tidak valid, fungsi ini mengembalikan NULL.

    • Jika url tidak mengandung jalur, fungsi ini mengembalikan string kosong.

  • Tipe data dari nilai input: STRING.

  • Tipe data dari nilai pengembalian: STRING.

  • Contoh:

    Mengembalikan informasi jalur dari url. Pernyataan sampel:

    SELECT url_extract_path('http://example.com/path1/p.php?k1=v1&k2=v2#Ref1');

    Hasil sampel:

    /path1/p.php

URL_EXTRACT_PORT

URL_EXTRACT_PORT(url)
  • Deskripsi: Fungsi ini mengembalikan informasi port dari url.

    Aturan: Jika nilai dari url adalah NULL atau tidak valid, atau url tidak mengandung port, fungsi ini mengembalikan NULL.

  • Tipe data dari nilai input: STRING.

  • Tipe data dari nilai pengembalian: STRING.

  • Contoh:

    • Mengembalikan informasi port dari url. Pernyataan sampel:

      SELECT url_extract_port('http://example.com/path1/p.php?k1=v1&k2=v2#Ref1');

      Hasil sampel:

      NULL
    • Mengembalikan informasi port dari url. Pernyataan sampel:

      SELECT url_extract_port('http://example.com:8080/path1/p.php?k1=v1&k2=v2#Ref1');

      Hasil sampel:

      8080

URL_EXTRACT_PROTOCOL

URL_EXTRACT_PROTOCOL(url)
  • Deskripsi: Fungsi ini mengembalikan informasi protokol dari url.

    Aturan: Jika nilai dari url adalah NULL atau tidak valid, fungsi ini mengembalikan NULL.

  • Tipe data dari nilai input: STRING.

  • Tipe data dari nilai pengembalian: STRING.

  • Contoh:

    • Mengembalikan informasi protokol dari url. Pernyataan sampel:

      SELECT url_extract_protocol('http://example.com/path1/p.php?k1=v1&k2=v2#Ref1');

      Hasil sampel:

      http

URL_EXTRACT_QUERY

URL_EXTRACT_QUERY(url)
  • Deskripsi: Fungsi ini mengembalikan informasi kueri dari url.

    Aturan:

    • Jika nilai dari url adalah NULL atau tidak valid, fungsi ini mengembalikan NULL.

    • Jika url tidak mengandung informasi kueri, fungsi ini mengembalikan string kosong.

  • Tipe data dari nilai input: STRING.

  • Tipe data dari nilai pengembalian: STRING.

  • Contoh:

    • Mengembalikan informasi kueri dari url. Pernyataan sampel:

      SELECT url_extract_query('http://example.com/path1/p.php?k1=v1&k2=v2#Ref1');

      Hasil sampel:

      k1=v1&k2=v2