URL函数支持从标准URL路径中提取字段,一个标准的URL如下:
[protocol:][//host[:port]][path][?query][#fragment]
常见URL函数
函数名 | 含义 | 示例 | |
---|---|---|---|
输入样例 | 输出结果 | ||
url_extract_fragment(url) |
提取出URL中的fragment,结果为varchar类型。 | *| select url_extract_fragment('https://sls.console.aliyun.com/#/project/dashboard-demo/categoryList') |
输出结果为/project/dashboard-demo/categoryList 。 |
url_extract_host(url) |
提取出URL中的host,结果为varchar类型。 | *|select url_extract_host('http://www.aliyun.com/product/sls') 。 |
输出结果为www.aliyun.com 。 |
url_extract_parameter(url, name) |
提取出URL中的query中name对应的参数值,结果为varchar类型。 | *|select url_extract_parameter('http://www.aliyun.com/product/sls?userid=testuser','userid') |
输出结果为testuser 。 |
url_extract_path(url) |
提取出URL中的path,结果为varchar类型。 | *|select url_extract_path('http://www.aliyun.com/product/sls?userid=testuser') |
输出结果为/product/sls 。 |
url_extract_port(url) |
提取出URL中的端口,结果为bigint类型。 | *|select url_extract_port('http://www.aliyun.com:80/product/sls?userid=testuser') |
输出结果为80 。 |
url_extract_protocol(url) |
提取出URL中的协议,结果为varchar类型。 | *|select url_extract_protocol('http://www.aliyun.com:80/product/sls?userid=testuser') |
输出结果为http 。 |
url_extract_query(url) |
提取出URL中的query,结果为varchar类型。 | *|select url_extract_query('http://www.aliyun.com:80/product/sls?userid=testuser') |
输出结果为userid=testuser 。 |
url_encode(value) |
对url进行转义编码。 | *|select url_encode('http://www.aliyun.com:80/product/sls?userid=testuser') |
输出结果为http%3a%2f%2fwww.aliyun.com%3a80%2fproduct%2fsls%3fuserid%3dtestuser 。 |
url_decode(value) |
对url进行解码。 | *|select url_decode('http%3a%2f%2fwww.aliyun.com%3a80%2fproduct%2fsls%3fuserid%3dtestuser') |
输出结果为http://www.aliyun.com:80/product/sls?userid=testuser 。 |