IP地址函数
本文介绍IP地址函数的语法规则,包括参数解释、函数示例等。
使用限制
LTS提供的IP与地域之间的关系,来自于第三方IP库,且数据是周期性更新(约半年),不承诺IP与地域关系完全正确;后续LTS会优化,缩短IP库的更新周期,为用户提供更好的体验。
单IP函数聚合查询的数据量上限为500万,查询的数据超出上限可能导致查询超时。
函数列表
函数 | 描述 |
|---|---|
判断目标IPv4地址是内网地址还是外网地址。 | |
获取目标IPv4地址的前缀。 | |
判断目标IPv4网段是否为某网段的子网。 | |
判断目标IPv4地址是否在某网段内。 | |
获取IPv4网段中的最大IP地址。 | |
获取IPv4网段中的最小IP地址。 | |
获取IPv4网段范围。 | |
返回IPv4地址所属国家或地区。 | |
返回IPv4地址所在国家编码。 | |
返回IPv4地址所在城市的名称。 | |
返回IPv4地址的网络运营商的名称。 | |
返回IPv6地址所属国家或地区。 | |
返回IPv6地址所在的国家编码。 | |
返回IPv6地址所在省级行政区域名称。 | |
返回IPv6地址所在城市的名称。 | |
返回IPv6地址对应的网络服务供应商。 | |
返回IPv6地址对应城市的经纬度信息。 | |
返回IPv6地址对应城市的经纬度信息。 | |
判断是否为内网地址。 |
ip_to_domain函数
判断目标IPv4地址是内网地址还是外网地址。
语法:ip_to_domain(expr)
参数名称 | 描述 | 类型 | 是否必选 |
|---|---|---|---|
expr | IP地址 | String | 是 |
返回值类型:String类型
示例:SELECT IP_TO_DOMAIN('10.110.10.210'), IP_TO_DOMAIN('192.175.4.1')
类型 | 查询语句 | 返回结果 |
|---|---|---|
场景1 | IP_TO_DOMAIN('10.110.10.210') | intranet |
场景2 | IP_TO_DOMAIN('192.175.4.1') | internet |
ip_prefix函数
获取目标IPv4地址的前缀。
语法:ip_prefix(expr, prefixBit)
参数名称 | 描述 | 类型 | 是否必选 |
|---|---|---|---|
expr | IPv4地址 | String | 是 |
prefixBit | 前缀位数 | String | 是 |
返回值类型:String类型
示例:SELECT IP_PREFIX('10.110.10.210', 8), IP_PREFIX('144.101.32.5', 12)
类型 | 查询语句 | 返回结果 |
|---|---|---|
场景1 | IP_PREFIX('10.110.10.210', 8) | 10.0.0.0/8 |
场景2 | IP_PREFIX('144.101.32.5', 12) | 144.96.0.0/12 |
is_prefix_subnet_of函数
判断目标IPv4网段是否为某网段的子网。
语法:is_prefix_subnet_of(expr1, expr2)
参数名称 | 描述 | 类型 | 是否必选 |
|---|---|---|---|
expr1 | 给定的IPv4网段 | String | 是 |
expr2 | 目标IPv4网段 | String | 是 |
返回值类型:Boolean类型
示例:SELECT IS_PREFIX_SUBNET_OF('192.168.0.1/24', '192.168.1.1/24')
类型 | 查询语句 | 返回结果 |
|---|---|---|
场景 | IS_PREFIX_SUBNET_OF('192.168.0.1/24', '192.168.1.1/24') | false |
is_subnet_of函数
判断目标IPv4地址是否在某网段内。
语法:is_subnet_of(expr1, expr2)
参数名称 | 描述 | 类型 | 是否必选 |
|---|---|---|---|
expr1 | 给定的IPv4网段 | String | 是 |
expr2 | 目标IPv4地址 | String | 是 |
返回值类型:Boolean类型
示例:SELECT IS_SUBNET_OF('192.168.0.1/24', '192.168.1.1')
类型 | 查询语句 | 返回结果 |
|---|---|---|
场景 | IS_SUBNET_OF('192.168.0.1/24', '192.168.1.1') | false |
ip_subnet_max函数
获取IPv4网段中的最大IP地址。
语法:ip_subnet_max(expr)
参数名称 | 描述 | 类型 | 是否必选 |
|---|---|---|---|
expr | IPv4网段 | String | 是 |
返回值类型:String类型
示例:SELECT IP_SUBNET_MAX('192.120.80.128/10')
类型 | 查询语句 | 返回结果 |
|---|---|---|
场景 | IP_SUBNET_MAX('192.120.80.128/10') | 192.127.255.255 |
ip_subnet_min函数
获取IPv4网段中的最小IP地址。
语法:ip_subnet_min(expr)
参数名称 | 描述 | 类型 | 是否必选 |
|---|---|---|---|
expr1 | IPv4网段 | String | 是 |
返回值类型:String类型
示例:SELECT IP_SUBNET_MIN('192.120.80.128/10')
类型 | 查询语句 | 返回结果 |
|---|---|---|
场景 | IP_SUBNET_MIN('192.120.80.128/10') | 192.64.0.0 |
ip_subnet_range函数
获取IPv4网段范围。
语法:ip_subnet_range(expr)
参数名称 | 描述 | 类型 | 是否必选 |
|---|---|---|---|
expr1 | IPv4网段 | String | 是 |
返回值类型:String类型
示例:SELECT IP_SUBNET_RANGE('192.120.80.128/10')
类型 | 查询语句 | 返回结果 |
|---|---|---|
场景 | IP_SUBNET_RANGE ('192.120.80.128/10') | ["192.64.0.0","192.127.255.255"] |
在计算给定网段的最大IP地址、最小IP地址和IP范围时,排除了网段的单播和广播地址,计算出的IP地址为网段的最大可用IP地址、最小可用IP地址和可用IP地址范围。
ip_to_country函数
返回IPv4地址所属国家或地区。
语法:ip_to_country(x)
参数名称 | 描述 | 类型 | 是否必选 |
|---|---|---|---|
x | 参数值为IPv4地址 | String | 是 |
返回值类型:String类型
示例:select ip_to_country(ip)
类型 | 查询语句 | 返回结果 |
|---|---|---|
场景 | ip_to_country(ip) | CN |
ip_to_country_code函数
返回IPv4地址所在国家编码。
语法:ip_to_country_code(x)
参数名称 | 描述 | 类型 | 是否必选 |
|---|---|---|---|
x | 参数值为IPv4地址 | String | 是 |
返回值类型:String类型
示例:select ip_to_country_code(ip)
类型 | 查询语句 | 返回结果 |
|---|---|---|
场景 | ip_to_country_code(ip) | CN |
ip_to_city函数
返回城市的名称。
语法:ip_to_city(x)
参数名称 | 描述 | 类型 | 是否必选 |
|---|---|---|---|
x | 参数值为IPv4地址 | String | 是 |
返回值类型:String类型
示例:select ip_to_city(ip)
类型 | 查询语句 | 返回结果 |
|---|---|---|
场景 | ip_to_city(ip) | Cochise |
ip_to_provider函数
返回IPv4地址的网络运营商的名称。
语法:ip_to_provider(x)
参数名称 | 描述 | 类型 | 是否必选 |
|---|---|---|---|
x | 参数值为IPv4地址 | String | 是 |
返回值类型:String类型
示例:select ip_to_provider(ip)
类型 | 查询语句 | 返回结果 |
|---|---|---|
场景 | ip_to_provider(ip) | CONUS-YPG |
ipv6_to_country函数
返回IPv6地址所属国家或地区。
语法:ipv6_to_country(x)
参数名称 | 描述 | 类型 | 是否必选 |
|---|---|---|---|
x | 参数值为IPv6地址 | String | 是 |
返回值类型:String类型
示例:select ipv6_to_country(ip)
类型 | 查询语句 | 返回结果 |
|---|---|---|
场景 | ipv6_to_country(ip) | 中国 |
ipv6_to_country_code函数
返回IPv6地址所在国家编码。
语法:ipv6_to_country_code(x)
参数名称 | 描述 | 类型 | 是否必选 |
|---|---|---|---|
x | 参数值为IPv6地址 | String | 是 |
返回值类型:String类型
示例:select ipv6_to_country_code(ip)
类型 | 查询语句 | 返回结果 |
|---|---|---|
场景 | ipv6_to_country_code(ip) | CN |
ipv6_to_province函数
返回IPv6地址所在省级行政区域名称。
语法:ipv6_to_province(x)
参数名称 | 描述 | 类型 | 是否必选 |
|---|---|---|---|
x | 参数值为IPv6地址 | String | 是 |
返回值类型:String类型
示例:select ipv6_to_province(ip)
类型 | 查询语句 | 返回结果 |
|---|---|---|
场景 | ipv6_to_province(ip) | 陕西省 |
ipv6_to_city函数
返回IPv6地址所在城市的名称。
语法:ipv6_to_city(x)
参数名称 | 描述 | 类型 | 是否必选 |
|---|---|---|---|
x | 参数值为IPv6地址 | String | 是 |
返回值类型:String类型
示例:select ipv6_to_city(ip)
类型 | 查询语句 | 返回结果 |
|---|---|---|
场景 | ipv6_to_city(ip) | 西安市 |
ipv6_to_provider函数
返回IPv6地址对应的网络服务供应商。
语法:ipv6_to_provider(x)
参数名称 | 描述 | 类型 | 是否必选 |
|---|---|---|---|
x | 参数值为IPv6地址 | String | 是 |
返回值类型:String类型
示例:select ipv6_to_provider(ip)
类型 | 查询语句 | 返回结果 |
|---|---|---|
场景 | ipv6_to_provider(ip) | 中国电信 |
ipv6_to_city_geo函数
返回IPv6地址对应城市的经纬度信息。
语法:ipv6_to_city_geo(x)
参数名称 | 描述 | 类型 | 是否必选 |
|---|---|---|---|
x | 参数值为IPv6地址 | String | 是 |
返回值类型:String类型
示例:select ipv6_to_city_geo(ip)
类型 | 查询语句 | 返回结果 |
|---|---|---|
场景 | ipv6_to_city_geo(ip) | 39.904989,116.405285 |

