跳到主要内容
版本:2.5

parse_url

功能

从目标 URL 中提取一部分信息。

语法

parse_url(expr1,expr2);

参数说明

expr1: 目标 URL,支持的数据类型为 VARCHAR。

expr2: 待提取的信息,支持的数据类型为 VARCHAR。取值如下,注意取值大小写敏感

  • PROTOCOL
  • HOST
  • PATH
  • REF
  • AUTHORITY
  • FILE
  • USERINFO
  • QUERY(不支持返回 QUERY 里面的特定参数。如果您想返回特定参数,可以配合 trim 函数使用,见示例。)

返回值说明

返回值的数据类型为 VARCHAR。如果输入的 URL 字符串无效,返回报错。如果未找到请求的信息,返回 NULL。

示例

select parse_url('http://facebook.com/path/p1.php?query=1', 'HOST');
+--------------------------------------------------------------+
| parse_url('http://facebook.com/path/p1.php?query=1', 'HOST') |
+--------------------------------------------------------------+
| facebook.com |
+--------------------------------------------------------------+

select parse_url('http://facebook.com/path/p1.php?query=1', 'AUTHORITY');
+-------------------------------------------------------------------+
| parse_url('http://facebook.com/path/p1.php?query=1', 'AUTHORITY') |
+-------------------------------------------------------------------+
| facebook.com |
+-------------------------------------------------------------------+

select parse_url('http://facebook.com/path/p1.php?query=1', 'QUERY');
+---------------------------------------------------------------+
| parse_url('http://facebook.com/path/p1.php?query=1', 'QUERY') |
+---------------------------------------------------------------+
| query=1 |
+---------------------------------------------------------------+

select trim(parse_url('http://facebook.com/path/p1.php?query=1', 'QUERY'),'query=');
+-------------------------------------------------------------------------------+
| trim(parse_url('http://facebook.com/path/p1.php?query=1', 'QUERY'), 'query=') |
+-------------------------------------------------------------------------------+
| 1 |
+-------------------------------------------------------------------------------+