本文介绍日志服务支持的 IP 函数语法及常见场景的使用示例。
说明
'time'
代表字符串,time
或 "time"
代表字段名或列名。函数类型 | 函数名称 | 语法 | 说明 |
---|---|---|---|
IPv4 地址函数 | IP_TO_CITY(KEY) | 分析目标 IPv4 地址所属城市,并返回城市的中文名称。 | |
IP_TO_CITY(KEY, 'en') | 分析目标 IPv4 地址所属城市,并返回城市的行政区划代码。 | ||
IP_TO_CITY_GEO(KEY) | 分析目标 IPv4 地址所属城市的经纬度,每个城市只有一个经纬度。 | ||
IP_TO_COUNTRY(KEY) | 分析目标 IPv4 地址所属国家或地区,并返回国家或地区的中文名称。 | ||
IP_TO_COUNTRY(KEY, 'en') | 分析目标 IPv4 地址所属国家或地区,并返回国家或地区的代码。 | ||
IP_TO_DOMAIN(KEY) | 判断目标 IPv4 地址是内网地址还是外网地址。 | ||
IP_TO_GEO(KEY) | 分析目标 IPv4 地址所在位置的经纬度。 | ||
IP_TO_PROVIDER(KEY) | 分析目标 IPv4 地址所对应的网络运营商。 | ||
IP_TO_PROVINCE(KEY) | 分析目标 IPv4 地址所属省份,并返回省份的中文名称。 | ||
IP_TO_PROVINCE(KEY, 'en') | 分析目标 IPv4 地址所属省份,并返回省份的行政区划代码。 | ||
IPv4 网段函数 | IS_PREFIX_SUBNET_OF(x, KEY) | 判断目标 IPv4 网段是否为某网段的子网。 | |
IS_SUBNET_OF(x, KEY) | 判断目标 IPv4 地址是否在某网段内。 | ||
IP_SUBNET_RANGE(KEY) | 获取 IPv4 网段范围。 | ||
IPv6地址函数 | IPV6_TO_CITY(KEY) | 分析目标 IPv6 地址所属城市的名称。 | |
IPV6_TO_CITY_GEO(KEY) | 分析目标 IPv6 地址所属城市的经纬度。 | ||
IPV6_TO_COUNTRY(KEY) | 分析目标 IPv6 地址所属国家或地区。 | ||
IPV6_TO_DOMAIN(KEY) | 判断目标 IPv6 地址是内网地址还是外网地址。 | ||
IPV6_TO_PROVIDER(KEY) | 分析目标 IPv6 地址所对应的网络运营商。 | ||
IPV6_TO_PROVINCE(x)) | 分析目标 IPv6 地址所属省份。 |
IP_TO_CITY 函数用于分析指定的 IPv4 地址所属城市。
语法格式
返回城市的中文名称。
IP_TO_CITY(KEY)
返回城市的行政区划代码。
IP_TO_CITY(KEY,'en')
参数说明
参数 | 说明 |
---|---|
KEY | 字段、表达式,其值为 IPv4 地址。 |
返回值说明
返回值为 Varchar 类型。
场景
通过 test_ip
字段查询相关 IP 地址所属城市的名称和行政区划代码。
检索和分析语句
* | SELECT IP_TO_CITY(test_ip), IP_TO_CITY(test_ip, 'en')
检索和分析结果
IP_TO_CITY_GEO 函数用于分析指定的 IPv4 地址所属城市的经纬度。每个城市只有一个经纬度。
语法格式
IP_TO_CITY_GEO(KEY)
参数说明
参数 | 说明 |
---|---|
KEY | 字段、表达式,其值为 IPv4 地址。 |
返回值说明
返回值为 Varchar 类型。格式为纬度,经度
。
场景
通过 test_ip
字段查询相关 IP 地址所属城市的经纬度。
检索和分析语句
* | SELECT IP_TO_CITY_GEO(test_ip)
检索和分析结果
IP_TO_COUNTRY 函数用于分析指定的 IPv4 地址所属国家或地区。
返回国家或地区的中文名称。
IP_TO_COUNTRY(KEY)
返回国家或地区的代码。
IP_TO_COUNTRY(KEY,'en')
参数说明
参数 | 说明 |
---|---|
KEY | 字段、表达式,其值为 IPv4 地址。 |
返回值说明
返回值为 Varchar 类型。
场景
通过 test_ip
字段查询相关 IP 地址所属的国家或地区的中文名称和代码。
检索和分析语句
* | SELECT IP_TO_COUNTRY(test_ip),IP_TO_COUNTRY(test_ip,'en')
检索和分析结果
IP_TO_DOMAIN 函数用于分析指定的 IPv4 地址是内网地址还是外网地址。
语法格式
IP_TO_DOMAIN(KEY)
参数说明
参数 | 说明 |
---|---|
KEY | 字段、表达式,其值为 IPv4 地址。 |
返回值说明
返回值为 intranet 或 internet。
场景
通过 test_ip
字段查询相关 IP 地址是内网地址还是外网地址。
检索和分析语句
* | SELECT IP_TO_DOMAIN(test_ip)
检索和分析结果
IP_TO_GEO 函数用于分析指定的 IPv4 地址所在位置的经纬度。
IP_TO_GEO(KEY)
参数说明
参数 | 说明 |
---|---|
KEY | 字段、表达式,其值为 IPv4 地址。 |
返回值说明
返回值为 Varchar 类型,格式为纬度,经度
。
场景
通过 test_ip
字段查询相关 IP 地址所在的经纬度。
检索和分析语句
* | SELECT IP_TO_GEO(test_ip)
检索和分析结果
IP_TO_PROVIDER 函数用于分析指定的 IPv4 地址对应的网络运营商。
语法格式
IP_TO_PROVIDER(KEY)
参数说明
参数 | 说明 |
---|---|
KEY | 字段、表达式,其值为 IPv4 地址。 |
返回值说明
返回值为 Varchar 类型。
场景
通过 test_ip
字段查询相关 IP 地址所属的网络运营商。
检索和分析语句
* | SELECT IP_TO_PROVIDER(test_ip)
检索和分析结果
IP_TO_PROVINCE 函数分析指定的 IPv4 地址所属省份。
语法格式
返回省份的中文名称。
IP_TO_PROVINCE(KEY)
返回省份的行政区划代码。
IP_TO_PROVINCE(KEY,'en')
参数说明
参数 | 说明 |
---|---|
KEY | 字段、表达式,其值为 IPv4 地址。 |
返回值说明
返回值为 Varchar 类型。
场景
通过 test_ip
字段查询相关 IP 地址所属的省份名称和行政区划代码。
检索和分析语句
* | SELECT IP_TO_PROVINCE(test_ip), IP_TO_PROVINCE(test_ip,'en')
检索和分析结果
IS_PREFIX_SUBNET_OF 函数用于判断指定的网段是否为目标网段的子网。
语法格式
IS_PREFIX_SUBNET_OF(x, KEY)
参数说明
参数 | 说明 |
---|---|
x | IPv4 网段。 |
KEY | 字段、表达式,其值为 IPv4 网段。 |
返回值说明
返回值为 Boolean 类型。
场景
判断 test_ip
字段值所在网段是否属于 192.168.0.1/24
网段。
检索和分析语句
* | SELECT IS_PREFIX_SUBNET_OF('192.168.0.1/24',CONCAT(test_ip,'/24'))
检索和分析结果
IS_SUBNET_OF 函数用于判断目标 IPv4 地址是否在指定的网段内。
语法格式
IS_SUBNET_OF(x, KEY)
参数说明
参数 | 说明 |
---|---|
x | IPv4 网段。 |
y | 字段、表达式,其值为 IPv4 地址。 |
返回值说明
返回值为 Boolean 类型。
场景
判断 test_ip
字段值是否属于 192.168.0.1/24
网段。
检索和分析语句
* | SELECT IS_SUBNET_OF('192.168.0.1/24',test_ip)
检索和分析结果
IP_SUBNET_RANGE 函数用于获取 IPv4 网段范围。
语法格式
IP_SUBNET_RANGE(KEY)
参数说明
参数 | 说明 |
---|---|
KEY | 字段、表达式,其值为 IPv4 网段。 |
返回值说明
返回值为 JSON 类型。
场景
获取 test_ip
字段值所在网段的范围。
检索和分析语句
* | SELECT IP_SUBNET_RANGE(CONCAT(test_ip,'/24'))
检索和分析结果
IPV6_TO_CITY 函数用于分析指定的 IPv6 地址所属城市的名称。
语法格式
IPV6_TO_CITY(KEY)
参数说明
参数 | 说明 |
---|---|
KEY | 字段、表达式,其值为 IPv6 地址。 |
返回值说明
返回值为 Varchar 类型。
场景
通过 test_ip
字段查询相关 IP 地址所属的城市名。
检索和分析语句
* | SELECT IPV6_TO_CITY(test_ip)
检索和分析结果
IPV6_TO_CITY_GEO 函数用于分析指定的 IPv6 地址所属城市的经纬度。
语法格式
IPV6_TO_CITY_GEO(KEY)
参数说明
参数 | 说明 |
---|---|
KEY | 字段、表达式,其值为 IPv6 地址。 |
返回值说明
返回值为 Varchar 类型,格式为纬度,经度
。
场景
通过 test_ip
字段查询相关 IP 地址所属城市的经纬度。
检索和分析语句
* | SELECT IPV6_TO_CITY_GEO(test_ip)
检索和分析结果
IPV6_TO_COUNTRY 函数用于分析指定的 IPv6 地址所属国家或地区。
语法格式
IPV6_TO_COUNTRY(KEY)
参数说明
参数 | 说明 |
---|---|
KEY | 字段、表达式,其值为 IPv6 地址。 |
返回值说明
返回值为 Varchar 类型。
场景
通过 test_ip
字段查询相关 IP 地址所属的国家或地区。
检索和分析语句
* | SELECT IPV6_TO_COUNTRY(test_ip)
检索和分析结果
IPV6_TO_DOMAIN 函数用于判断指定的 IPv6 地址是内网地址还是外网地址。
语法格式
IPV6_TO_DOMAIN(KEY)
参数说明
参数 | 说明 |
---|---|
KEY | 字段、表达式,其值为 IPv6 地址。 |
返回值说明
返回值为 intranet 或 internet。
场景
通过 test_ip
字段查询相关 IP 地址是内网地址还是外网地址。
检索和分析语句
* | SELECT IPV6_TO_DOMAIN(test_ip)
检索和分析结果
IPV6_TO_PROVIDER 函数用于分析目标 IP 地址所对应的网络运营商。
语法格式
IPV6_TO_PROVIDER(KEY)
参数说明
参数 | 说明 |
---|---|
KEY | 字段、表达式,其值为 IPv6 地址。 |
返回值说明
返回值为 Varchar 类型。
场景
通过 test_ip
字段查询相关 IPv6 地址所属的网络运营商。
检索和分析语句
* | SELECT IPV6_TO_PROVIDER(test_ip)
检索和分析结果
IPV6_TO_PROVINCE 函数用于分析目标 IPv6 地址所属省份。
语法格式
IPV6_TO_PROVINCE(KEY)
参数说明
参数 | 说明 |
---|---|
KEY | 字段、表达式,其值为 IPv6 地址。 |
返回值说明
返回值为 Varchar 类型。
函数示例
场景
通过 test_ip
字段查询相关 IP 地址所属的省份。
检索和分析语句
* | SELECT IPV6_TO_PROVINCE(test_ip)
检索和分析结果