All Products
Search
Document Center

Realtime Compute for Apache Flink:PARSE_URL

Last Updated:Mar 27, 2026

Extracts a specific component from a URL string and returns its value as VARCHAR.

Returns NULL if urlStr is NULL.

Syntax

VARCHAR PARSE_URL(VARCHAR urlStr, VARCHAR partToExtract [, VARCHAR key])

Arguments

Argument

Data type

Description

urlStr

VARCHAR

The URL to parse.

partToExtract

VARCHAR

The URL component to extract. Valid values: HOST, PATH, QUERY, REF, PROTOCOL, FILE, AUTHORITY, USERINFO.

key

VARCHAR

The query parameter key whose value to extract. Optional.

Valid values for partToExtract

Value

Description

Example

HOST

The domain name or IP address.

facebook.com

PATH

The path component, excluding the query string.

/path/p1.php

QUERY

The full query string, or the value of a specific key when key is provided.

query=1 (full); 1 (with key='query')

REF

The fragment identifier after #.

section1

PROTOCOL

The URL scheme.

http, https

FILE

The path and query string combined.

/path/p1.php?query=1

AUTHORITY

The host and port combined.

facebook.com

USERINFO

The user information before @ in the authority component.

user:password

Example

Input table T1:

url1 (VARCHAR)

url2 (VARCHAR)

http://facebook.com/path/p1.php?query=1

NULL

SELECT PARSE_URL(url1, 'QUERY', 'query') AS var1,  -- returns '1'
       PARSE_URL(url1, 'QUERY')          AS var2,  -- returns 'query=1'
       PARSE_URL(url1, 'HOST')           AS var3,  -- returns 'facebook.com'
       PARSE_URL(url1, 'PATH')           AS var4,  -- returns '/path/p1.php'
       PARSE_URL(url1, 'REF')            AS var5,  -- returns NULL (no fragment)
       PARSE_URL(url1, 'PROTOCOL')       AS var6,  -- returns 'http'
       PARSE_URL(url1, 'FILE')           AS var7,  -- returns '/path/p1.php?query=1'
       PARSE_URL(url1, 'AUTHORITY')      AS var8,  -- returns 'facebook.com'
       PARSE_URL(url1, 'USERINFO')       AS var9,  -- returns NULL (no userinfo)
       PARSE_URL(url2, 'QUERY')          AS var10  -- returns NULL (urlStr is NULL)
FROM T1;

Result:

var1

var2

var3

var4

var5

1

query=1

facebook.com

/path/p1.php

NULL

var6

var7

var8

var9

var10

http

/path/p1.php?query=1

facebook.com

NULL

NULL

Usage notes

  • If urlStr is NULL, all results return NULL.