Presto 0.186 Documentation

6.18. URL Functions

6.18. URL Functions

Extraction Functions

The URL extraction functions extract components from HTTP URLs (or any valid URIs conforming to RFC 2396). The following syntax is supported:

[protocol:][//host[:port]][path][?query][#fragment]

The extracted components do not contain URI syntax separators such as : or ?.

url_extract_fragment(url) → varchar

Returns the fragment identifier from url.

url_extract_host(url) → varchar

Returns the host from url.

url_extract_parameter(url, name) → varchar

Returns the value of the first query string parameter named name from url. Parameter extraction is handled in the typical manner as specified by RFC 1866#section-8.2.1.

url_extract_path(url) → varchar

Returns the path from url.

url_extract_port(url) → bigint

Returns the port number from url.

url_extract_protocol(url) → varchar

Returns the protocol from url.

url_extract_query(url) → varchar

Returns the query string from url.

Encoding Functions

url_encode(value) → varchar

Escapes value by encoding it so that it can be safely included in URL query parameter names and values:

  • Alphanumeric characters are not encoded.
  • The characters ., -, * and _ are not encoded.
  • The ASCII space character is encoded as +.
  • All other characters are converted to UTF-8 and the bytes are encoded as the string %XX where XX is the uppercase hexadecimal value of the UTF-8 byte.
url_decode(value) → varchar

Unescapes the URL encoded value. This function is the inverse of url_encode().