Fungsi ini mengambil alamat IPv6 yang direpresentasikan dalam bentuk numerik sebagai string biner, seperti yang dikembalikan oleh INET6_ATON(). Ia mengembalikan 1 jika argumennya adalah alamat IPv6 yang kompatibel dengan IPv4 yang valid, 0 jika tidak (kecuali expr adalah NULL, dalam hal ini fungsi mengembalikan NULL). Alamat yang kompatibel dengan IPv4 memiliki bentuk ::ipv4_address.
SELECT IS_IPV4_COMPAT(INET6_ATON('::10.0.5.9'));
1
SELECT IS_IPV4_COMPAT(INET6_ATON('::ffff:10.0.5.9'));
0
The IPv4 part of an IPv4-compatible address can also be represented using hexadecimal notation. For example, 198.51.100.1 has this raw hexadecimal value:
SELECT IS_IPV4_COMPAT(INET6_ATON('::10.0.5.9'));
1
SELECT IS_IPV4_COMPAT(INET6_ATON('::ffff:10.0.5.9'));
0
Expressed in IPv4-compatible form, ::198.51.100.1 is equivalent to ::c0a8:0001 or (without leading zeros) ::c0a8:1
SELECT HEX(INET6_ATON('198.51.100.1'));
'C6336401'
SELECT
IS_IPV4_COMPAT(INET6_ATON('::198.51.100.1')),
IS_IPV4_COMPAT(INET6_ATON('::c0a8:0001')),
IS_IPV4_COMPAT(INET6_ATON('::c0a8:1'));
1, 1, 1