
# URL函数
本文介绍URL函数的语法规则，包括参数解释、函数示例等。
#### 函数列表
表1URL函数 
| 函数                                                                                                                                                                                         | 描述                 |
|:---|:---|
| [url_encode函数]            | 对URL进行编码。          |
| [url_decode函数]            | 对URL进行解码。          |
| [url_extract_fragment函数]  | 提取URL中的fragment信息。 |
| [url_extract_host函数]      | 提取URL中的host信息。     |
| [url_extract_parameter函数] | 提取URL中的参数信息。       |
| [url_extract_path函数]      | 提取URL中的path信息。     |
| [url_extract_port函数]      | 提取URL中的端口信息。       |
| [url_extract_protocol函数]  | 提取URL中的协议信息。       |
| [url_extract_query函数]     | 提取URL中查询部分的信息。     |
   
 #### url_encode函数
对URL进行编码。
语法：url_encode(expr)
表2参数说明 
| 参数名称 | 描述     | 类型     | 是否必选 |
|:---|:---|:---|:---|
| expr | URL字符串 | String | 是    |
   
返回值类型：String类型
示例：SELECT URL_ENCODE('http://username:password@host:8080/index?parameterName=parameterValue#fragment')
表3查询分析结果 
| 类型 | 查询语句                                                                                         | 返回结果                                                                                               |
|:---|:---|:---|
| 场景 | URL_ENCODE('http://username:password@host:8080/index?parameterName=parameterValue#fragment') | http%3A%2F%2Fusername%3Apassword%40host%3A8080%2Findex%3FparameterName%3DparameterValue%23fragment |
   
 #### url_decode函数
对URL进行解码。
语法：url_decode(expr)
表4参数说明 
| 参数名称 | 描述     | 类型     | 是否必选 |
|:---|:---|:---|:---|
| expr | URL字符串 | String | 是    |
   
返回值类型：String类型
示例：SELECT URL_DECODE('http%3A%2F%2Fusername%3Apassword%40host%3A8080%2Findex%3FparameterName%3DparameterValue%23fragment')
表5查询分析结果 
| 类型 | 查询语句                                                                                                             | 返回结果                                                                           |
|:---|:---|:---|
| 场景 | URL_DECODE('http%3A%2F%2Fusername%3Apassword%40host%3A8080%2Findex%3FparameterName%3DparameterValue%23fragment') | http://username:password@host:8080/index?parameterName=parameterValue#fragment |
   
 #### url_extract_fragment函数
提取URL中的fragment信息。
语法：url_extract_fragment(expr)
表6参数说明 
| 参数名称 | 描述     | 类型     | 是否必选 |
|:---|:---|:---|:---|
| expr | URL字符串 | String | 是    |
   
返回值类型：String类型
示例：SELECT URL_EXTRACT_FRAGMENT('http://username:password@host:8080/index?parameterName=parameterValue#fragment')
表7查询分析结果 
| 类型 | 查询语句                                                                                                   | 返回结果     |
|:---|:---|:---|
| 场景 | URL_EXTRACT_FRAGMENT('http://username:password@host:8080/index?parameterName=parameterValue#fragment') | fragment |
   
 #### url_extract_host函数
提取URL中的host信息。
语法：url_extract_host(expr)
表8参数说明 
| 参数名称 | 描述     | 类型     | 是否必选 |
|:---|:---|:---|:---|
| expr | URL字符串 | String | 是    |
   
返回值类型：String类型
示例：SELECT URL_EXTRACT_HOST('http://username:password@host:8080/index?parameterName=parameterValue#fragment')
表9查询分析结果 
| 类型 | 查询语句                                                                                               | 返回结果 |
|:---|:---|:---|
| 场景 | URL_EXTRACT_HOST('http://username:password@host:8080/index?parameterName=parameterValue#fragment') | host |
   
 #### url_extract_parameter函数
提取URL中的参数信息。
语法：url_extract_parameter(expr, paramName)
表10参数说明 
| 参数名称      | 描述     | 类型     | 是否必选 |
|:---|:---|:---|:---|
| expr      | URL字符串 | String | 是    |
| paramName | 参数名称   | String | 是    |
   
返回值类型：String类型
示例：SELECT URL_EXTRACT_PARAMETER('http://username:password@host:8080/index?parameterName=parameterValue#fragment', 'parameterName')
表11查询分析结果 
| 类型 | 查询语句                                                                                                                     | 返回结果           |
|:---|:---|:---|
| 场景 | URL_EXTRACT_PARAMETER('http://username:password@host:8080/index?parameterName=parameterValue#fragment', 'parameterName') | parameterValue |
   
 #### url_extract_path函数
提取URL中的path信息。
语法：url_extract_path(expr)
表12参数说明 
| 参数名称 | 描述     | 类型     | 是否必选 |
|:---|:---|:---|:---|
| expr | URL字符串 | String | 是    |
   
返回值类型：
String类型
示例：SELECT URL_EXTRACT_PATH('http://username:password@host:8080/index?parameterName=parameterValue#fragment')
表13查询分析结果 
| 类型 | 查询语句                                                                                               | 返回结果   |
|:---|:---|:---|
| 场景 | URL_EXTRACT_PATH('http://username:password@host:8080/index?parameterName=parameterValue#fragment') | /index |
   
 #### url_extract_port函数
提取URL中的端口信息。
语法：url_extract_port(expr)
表14参数说明 
| 参数名称 | 描述     | 类型     | 是否必选 |
|:---|:---|:---|:---|
| expr | URL字符串 | String | 是    |
   
返回值类型：String类型
示例：SELECT URL_EXTRACT_PORT('http://username:password@host:8080/index?parameterName=parameterValue#fragment')
表15查询分析结果 
| 类型 | 查询语句                                                                                               | 返回结果 |
|:---|:---|:---|
| 场景 | URL_EXTRACT_PORT('http://username:password@host:8080/index?parameterName=parameterValue#fragment') | 8080 |
   
 #### url_extract_protocol函数
提取URL中的协议信息。
语法：url_extract_protocol(expr)
表16参数说明 
| 参数名称 | 描述     | 类型     | 是否必选 |
|:---|:---|:---|:---|
| expr | URL字符串 | String | 是    |
   
返回值类型：String类型
示例：SELECT URL_EXTRACT_PROTOCOL('http://username:password@host:8080/index?parameterName=parameterValue#fragment')
表17查询分析结果 
| 类型 | 查询语句                                                                                                   | 返回结果 |
|:---|:---|:---|
| 场景 | URL_EXTRACT_PROTOCOL('http://username:password@host:8080/index?parameterName=parameterValue#fragment') | http |
   
 #### url_extract_query函数
提取URL中的查询部分的信息。
语法：url_extract_query(expr)
表18参数说明 
| 参数名称 | 描述     | 类型     | 是否必选 |
|:---|:---|:---|:---|
| expr | URL字符串 | String | 是    |
   
返回值类型：String类型
示例：SELECT URL_EXTRACT_QUERY('http://username:password@host:8080/index?parameterName=parameterValue#fragment')
表19查询分析结果 
| 类型 | 查询语句                                                                                                | 返回结果                         |
|:---|:---|:---|
| 场景 | URL_EXTRACT_QUERY('http://username:password@host:8080/index?parameterName=parameterValue#fragment') | parameterName=parameterValue |
   
