URL函数
提取函数
描述:提取函数用于从HTTP URL(或任何符合RFC 2396标准的URL)中提取内容。
[protocol:][//host[:port]][path][?query][#fragment]
提取的内容不会包含URI的语法分隔符,比如“:”或“?”。
- url_extract_fragment(url) → varchar
描述:返回url的片段标识符,即#后面的字符串。
select url_extract_fragment('http://www.example.com:80/stu/index.html?name=xxx&age=25#teacher');--teacher
- url_extract_host(url)→ varchar
select url_extract_host('http://www.example.com:80/stu/index.html?name=xxx&age=25#teacher');-- www.example.com
- url_extract_parameter(url, name)→ varchar
描述:返回url中参数名为name的参数。
select url_extract_parameter('http://www.example.com:80/stu/index.html?name=xxx&age=25#teacher','age');-- 25
- url_extract_path(url)→ varchar
描述:提取url中的路径。
select url_extract_path('http://www.example.com:80/stu/index.html?name=xxx&age=25#teacher');-- /stu/index.html
- url_extract_port(url)→ bigint
描述:提取url中的端口。
select url_extract_port('http://www.example.com:80/stu/index.html?name=xxx&age=25#teacher');-- 80
- url_extract_protocol(url)→ varchar
描述:提取url中的协议。
select url_extract_protocol('http://www.example.com:80/stu/index.html?name=xxx&age=25#teacher'); -- http
- url_extract_query(url)→ varchar
描述:提取url中的查询字符串。
select url_extract_query('http://www.example.com:80/stu/index.html?name=xxx&age=25#teacher'); -- name=xxx&age=25
编码函数
- url_encode(value) → varchar
描述:对value进行转义处理,以便可以安全地将其包含在URL查询参数名和值中:
- 字母字符不会被编码。
- 字符 ., -, * 和 _不会被编码。
- ASCII 空格字符会被编码为+ 。
- 所有其他字符都将转换为UTF-8,并且字节被编码为字符串%XX,其中XX是UTF-8字节的大写十六进制值。
select url_encode('http://www.example.com:80/stu/index.html?name=xxx&age=25#teacher'); -- http%3A%2F%2Fwww.example.com%3A80%2Fstu%2Findex.html%3Fname%3Dxxx%26age%3D25%23teacher
- url_decode(value) → varchar
描述:对value编码后的URL进行解码操作。
select url_decode('http%3A%2F%2Fwww.example.com%3A80%2Fstu%2Findex.html%3Fname%3Dxxx%26age%3D25%23teacher'); -- http://www.example.com:80/stu/index.html?name=xxx&age=25#teacher