MySQL IS_IPV4_MAPPED() 函数使用指南

MySQL IS_IPV4_MAPPED() 函数检查一个数字形式的 IPv6 地址是否是一个 IPv4-mapped IPv6 地址。

IS_IPV4_MAPPED() 语法

这里是 MySQL IS_IPV4_MAPPED() 函数的语法:

IS_IPV4_MAPPED(ip)

参数

ip
必需的。 一个待检查的 IPv6 地址。

返回值

MySQL IS_IPV4_MAPPED() 函数检查一个数字形式的 IPv6 地址是否是一个 IPv4-mapped IPv6 地址,如果是返回 1,否则返回 0

IPv4-mapped IPv6 地址的格式是:::ffff:IPv4-address,比如:::ffff:192.168.1.10

如果参数为 NULL,该函数将返回 NULL

IS_IPV4_MAPPED() 示例

这个实例演示了 IS_IPV4_MAPPED() 的基本用法。

SELECT
    IS_IPV4_MAPPED(INET6_ATON('::192.168.1.100')),
    IS_IPV4_MAPPED(INET6_ATON('::ffff:192.168.1.100'));
+-----------------------------------------------+----------------------------------------------------+
| IS_IPV4_MAPPED(INET6_ATON('::192.168.1.100')) | IS_IPV4_MAPPED(INET6_ATON('::ffff:192.168.1.100')) |
+-----------------------------------------------+----------------------------------------------------+
|                                             0 |                                                  1 |
+-----------------------------------------------+----------------------------------------------------+

这里,由于 ::192.168.1.100 不是 IPv4-mapped IPv6 地址,因此 IS_IPV4_MAPPED(INET6_ATON('::192.168.1.100')) 返回了 0