すべてのプロダクト
Search
ドキュメントセンター

AnalyticDB:URL 関数

最終更新日:May 30, 2025

このトピックでは、URL 関数の構文について説明し、使用方法の例を示します。

  • PARSE_URL: URL から指定されたコンテンツを返します。

  • URL_DECODE: application/x-www-form-urlencoded 標準に基づいてエンコードされた URL 文字列をデコードし、結果を返します。

  • URL_ENCODE: application/x-www-form-urlencoded 標準に基づいて URL 文字列をエンコードし、結果を返します。

  • URL_EXTRACT_FRAGMENT: URL からフラグメント識別子を返します。

  • URL_EXTRACT_HOST: URL からホスト名または IP アドレスを返します。

  • URL_EXTRACT_PARAMETER: URL のクエリ部分から指定されたパラメーター値を返します。

  • URL_EXTRACT_PATH: URL からパス情報を返します。

  • URL_EXTRACT_PORT: URL からポート情報を返します。

  • URL_EXTRACT_PROTOCOL: URL からプロトコル情報を返します。

  • URL_EXTRACT_QUERY: URL からクエリ情報を返します。

PARSE_URL

PARSE_URL(url, part [,key] )
  • 説明: この関数は、url から part で指定されたコンテンツを返します。

    ルール:

    • partQUERY に設定されている場合、この関数は key に対応する value を返します。

    • urlpart、または key の値が NULL の場合、この関数は NULL を返します。

    • part が無効な値に設定されている場合、この関数は NULL を返します。

    part の値は大文字と小文字を区別しません。次の値がサポートされています。

    • HOST: URL 内のホスト名または IP アドレス。

    • PATH: URL 内のパス情報。例: /path/to/resource

    • QUERY: URL 内のクエリ部分。 ? で始まります。

    • REF: URL 内のフラグメント識別子。 # で始まります。

    • PROTOCOL: URL 内のプロトコル情報。例: http または https

    • AUTHORITY: URL 内のユーザー情報、ホスト名、およびポート番号。

    • FILE: URL のファイルパス。

    • USERINFO: URL 内のユーザー情報。ユーザー名とパスワードを含みます。

  • 入力値のデータ型: urlpart、および key は STRING。

  • 戻り値のデータ型: STRING。

  • 例:

    • url からホスト名または IP アドレスを返します。サンプル文:

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

      サンプル結果:

      example.com
    • url からパスを返します。サンプル文:

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

      サンプル結果:

      /over/there/index.dtb
    • url からクエリ部分を返します。サンプル文:

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

      サンプル結果:

      animal
    • url からフラグメント識別子を返します。サンプル文:

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

      サンプル結果:

      nose
    • url からプロトコルを返します。サンプル文:

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

      サンプル結果:

      file
    • url からユーザー情報、ホスト名、およびポート番号を返します。サンプル文:

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

      サンプル結果:

      username:password@example.com:8042
    • url からユーザー情報を返します。サンプル文:

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

      サンプル結果:

      username:password

URL_DECODE

URL_DECODE(input)
  • 説明: この関数は、application/x-www-form-urlencoded 標準に基づいてエンコードされた URL 文字列をデコードし、結果を返します。

    ルール: input の値が NULL の場合、この関数は NULL を返します。

    エンコードルール:

    • 文字 a から z、A から Z、および 0 から 9 は変更されません。

    • ピリオド (.)、ハイフン (-)、アスタリスク (*)、およびアンダースコア (_) は保持されます。

    • プラス記号 (+) はスペースに変換されます。

    • パーセントエンコードされたシーケンス (%xy) は対応するバイト値に変換され、結果のバイトストリームは UTF-8 エンコードされた文字列としてデコードされます。

  • 入力値のデータ型: STRING。

  • 戻り値のデータ型: STRING。

  • 例:

    application/x-www-form-urlencoded 標準に基づいてエンコードされた URL 文字列をデコードし、結果を返します。サンプル文:

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

    サンプル結果:

    example for url_decode:// (fdsf)

URL_ENCODE

URL_ENCODE(input)
  • 説明: この関数は、application/x-www-form-urlencoded 標準に基づいて URL 文字列をエンコードし、結果を返します。

    ルール: input の値が NULL の場合、この関数は NULL を返します。

    エンコードルール:

    • 文字 a から z、A から Z、および 0 から 9 は変更されません。

    • ピリオド (.)、ハイフン (-)、アスタリスク (*)、およびアンダースコア (_) は保持されます。

    • スペースはプラス記号 (+) に変換されます。

    • その他の文字は、UTF-8 を使用してバイト値としてエンコードされます。各バイト値は %xy 形式で、xy は対応する 16 進数表現です。

  • 入力値のデータ型: STRING。

  • 戻り値のデータ型: STRING。

  • 例:

    example for url_encode:// (fdsf) 文字列を application/x-www-form-urlencoded 標準に基づいてエンコードし、結果を返します。

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

    サンプル結果:

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

URL_EXTRACT_FRAGMENT

URL_EXTRACT_FRAGMENT(url)
  • 説明: この関数は、url から # で始まるフラグメント識別子を返します。

    ルール:

    • url の値が NULL または無効な場合、この関数は NULL を返します。

    • url にフラグメント識別子が含まれていない場合、この関数は空の文字列を返します。

  • 入力値のデータ型: STRING。

  • 戻り値のデータ型: STRING。

  • 例:

    url からフラグメント識別子を返します。サンプル文:

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

    サンプル結果:

    Ref1

URL_EXTRACT_HOST

URL_EXTRACT_HOST(url)
  • 説明: この関数は、url からホスト名または IP アドレスを返します。

    ルール: url の値が NULL または無効な場合、この関数は NULL を返します。

  • 入力値のデータ型: STRING。

  • 戻り値のデータ型: STRING。

  • 例:

    url からホスト名または IP アドレスを返します。サンプル文:

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

    サンプル結果:

    example.com

URL_EXTRACT_PARAMETER

URL_EXTRACT_PARAMETER(url, parameter)
  • 説明: この関数は、url のクエリ部分から parameter で指定された情報を返します。

    ルール: url の値が NULL、parameter の値が NULL、または url のクエリ部分に parameter が含まれていない場合、この関数は NULL を返します。

  • 入力値のデータ型: url および parameter は STRING。

  • 戻り値のデータ型: STRING。

  • 例:

    • url のクエリ部分から k1 で指定された情報を返します。サンプル文:

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

      サンプル結果:

      v1
    • url のクエリ部分から k5 で指定された情報を返します。サンプル文:

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

      サンプル結果:

      NULL

URL_EXTRACT_PATH

URL_EXTRACT_PATH(url)
  • 説明: この関数は、url からパス情報を返します。

    ルール:

    • url の値が NULL または無効な場合、この関数は NULL を返します。

    • url にパスが含まれていない場合、この関数は空の文字列を返します。

  • 入力値のデータ型: STRING。

  • 戻り値のデータ型: STRING。

  • 例:

    url からパス情報を返します。サンプル文:

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

    サンプル結果:

    /path1/p.php

URL_EXTRACT_PORT

URL_EXTRACT_PORT(url)
  • 説明: この関数は、url からポート情報を返します。

    ルール: url の値が NULL または無効な場合、あるいは url にポートが含まれていない場合、この関数は NULL を返します。

  • 入力値のデータ型: STRING。

  • 戻り値のデータ型: STRING。

  • 例:

    • url からポート情報を返します。サンプル文:

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

      サンプル結果:

      NULL
    • url からポート情報を返します。サンプル文:

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

      サンプル結果:

      8080

URL_EXTRACT_PROTOCOL

URL_EXTRACT_PROTOCOL(url)
  • 説明: この関数は、url からプロトコル情報を返します。

    ルール: url の値が NULL または無効な場合、この関数は NULL を返します。

  • 入力値のデータ型: STRING。

  • 戻り値のデータ型: STRING。

  • 例:

    • url からプロトコル情報を返します。サンプル文:

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

      サンプル結果:

      http

URL_EXTRACT_QUERY

URL_EXTRACT_QUERY(url)
  • 説明: この関数は、url からクエリ情報を返します。

    ルール:

    • url の値が NULL または無効な場合、この関数は NULL を返します。

    • url にクエリ情報が含まれていない場合、この関数は空の文字列を返します。

  • 入力値のデータ型: STRING。

  • 戻り値のデータ型: STRING。

  • 例:

    • url からクエリ情報を返します。サンプル文:

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

      サンプル結果:

      k1=v1&k2=v2