This function takes an IPv6 address represented in numeric form as a binary string, as returned by INET6_ATON(). It returns 1 if the argument is a valid IPv4-mapped IPv6 address, 0 otherwise, unless expr is NULL, in which case the function returns NULL. IPv4-mapped addresses have the form ::ffff:ipv4_address.
SELECT IS_IPV4_MAPPED(INET6_ATON('::10.0.5.9'));
0
SELECT IS_IPV4_MAPPED(INET6_ATON('::ffff:10.0.5.9'));
1
As with IS_IPV4_COMPAT() the IPv4 part of an IPv4-mapped address can also be represented using hexadecimal notation:
SELECT IS_IPV4_MAPPED(INET6_ATON('::10.0.5.9'));
0
SELECT IS_IPV4_MAPPED(INET6_ATON('::ffff:10.0.5.9'));
1
SELECT
IS_IPV4_MAPPED(INET6_ATON('::ffff:198.51.100.1')),
IS_IPV4_MAPPED(INET6_ATON('::ffff:c0a8:0001')),
IS_IPV4_MAPPED(INET6_ATON('::ffff:c0a8:1'));
1, 1, 1