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 |
| VARCHAR | The URL to parse. |
| VARCHAR | The URL component to extract. Valid values: |
| VARCHAR | The query parameter key whose value to extract. Optional. |
Valid values for partToExtract
Value | Description | Example |
| The domain name or IP address. |
|
| The path component, excluding the query string. |
|
| The full query string, or the value of a specific key when |
|
| The fragment identifier after |
|
| The URL scheme. |
|
| The path and query string combined. |
|
| The host and port combined. |
|
| The user information before |
|
Example
Input table T1:
url1 (VARCHAR) | url2 (VARCHAR) |
| 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
urlStris NULL, all results return NULL.