Перейти к содержимому
Последнее обновление

IPV4_TO_IPV6

Описание​

Преобразует адрес IPv4 в адрес IPv6. Полученный адрес IPv6 является адресом с отображением IPv4 в формате ::ffff:IPv4.

Синтаксис​

IPV4_TO_IPV6(<ipv4_address>)

Параметры​

  • <ipv4_address>: адрес типа IPv4

Возвращаемое значение​

Тип возвращаемого значения: IPv6

Описание возвращаемого значения:

  • Возвращает соответствующий адрес IPv6 в формате ::ffff:IPv4
  • Это стандартный формат IPv4-отображённого адреса IPv6

Примечания по использованию​

  • Встраивает адрес IPv4 в адрес IPv6 с использованием стандартного формата с отображением IPv4
  • Преобразованный адрес можно использовать для совместимости с IPv4 в сетях IPv6
  • Поддерживает все допустимые адреса IPv4
  • Возвращает NULL, если входной параметр равен NULL

Примеры​

Преобразование адреса IPv4 в адрес IPv6.

SELECT ipv4_to_ipv6(to_ipv4('192.168.1.1')) as ipv6_address;
+--------------------+
| ipv6_address |
+--------------------+
| ::ffff:192.168.1.1 |
+--------------------+

Преобразование нескольких адресов IPv4.

SELECT 
ipv4_to_ipv6(to_ipv4('10.0.0.1')) as private_ip,
ipv4_to_ipv6(to_ipv4('8.8.8.8')) as public_ip;
+-----------------+----------------+
| private_ip | public_ip |
+-----------------+----------------+
| ::ffff:10.0.0.1 | ::ffff:8.8.8.8 |
+-----------------+----------------+

Преобразование адресов IPv4 с граничными значениями.

SELECT 
ipv4_to_ipv6(to_ipv4('0.0.0.0')) as min_ip,
ipv4_to_ipv6(to_ipv4('255.255.255.255')) as max_ip;
+----------------+------------------------+
| min_ip | max_ip |
+----------------+------------------------+
| ::ffff:0.0.0.0 | ::ffff:255.255.255.255 |
+----------------+------------------------+

Если входной параметр равен NULL, возвращается NULL.

SELECT ipv4_to_ipv6(NULL) as null_result;
+-------------+
| null_result |
+-------------+
| NULL |
+-------------+

Ключевые слова​

IPV4_TO_IPV6