parse_url
parse_url函数用于返回给定URL的指定部分,partToExtract的有效值包括HOST,PATH, QUERY, REF, PROTOCOL, AUTHORITY,FILE和USERINFO。
例如:parse_url('http://facebook.com/path1/p.php?k1=v1&k2=v2#Ref1', 'HOST') 返回 'facebook.com'.。
当第二个参数为QUERY时,可以使用第三个参数提取特定参数的值,例如: parse_url('http://facebook.com/path1/p.php?k1=v1&k2=v2#Ref1', 'QUERY', 'k1') 返回'v1'。
命令格式
parse_url(string urlString, string partToExtract [, string keyToExtract])
参数说明
参数 | 是否必选 | 参数类型 | 说明 |
|---|---|---|---|
urlString | 是 | STRING | URL链接。无效URL链接会返回报错。 |
partToExtract | 是 | STRING | 取值包含:HOST、PATH、QUERY、REF、PROTOCOL、AUTHORITY、FILE和USERINFO,不区分大小写。 |
keyToExtract | 否 | STRING | 当part取值为QUERY时,根据key值取出对应的Value值。 |
返回值说明
返回STRING类型。返回规则如下:

- urlString、partToExtract或keyToExtract值为NULL时,返回NULL。
- partToExtract 取值不符合要求时,返回报错。
示例代码
返回example.com。
select parse_url('file://username@example.com:666/over/there/index.dtb?type=animal&name=narwhal#nose', 'HOST'); 返回/over/there/index.dtb。
select parse_url('file://username@example.com:666/over/there/index.dtb?type=animal&name=narwhal#nose', 'PATH'); 返回animal。
select parse_url('file://username@example.com:666/over/there/index.dtb?type=animal&name=narwhal#nose', 'QUERY', 'type'); 返回nose。
select parse_url('file://username@example.com:666/over/there/index.dtb?type=animal&name=narwhal#nose', 'REF'); 返回file。
select parse_url('file://username@example.com:666/over/there/index.dtb?type=animal&name=narwhal#nose', 'PROTOCOL'); 返回 username@example.com:8042。
select parse_url('file://username@example.com:666/over/there/index.dtb?type=animal&name=narwhal#nose', 'AUTHORITY'); 返回username。
select parse_url('file://username@example.com:666/over/there/index.dtb?type=animal&name=narwhal#nose', 'USERINFO'); 
