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

TO_IPV6_OR_NULL

Описание​

Принимает IPv6-адрес в строковом представлении и возвращает значение типа IPv6. Если входное значение некорректно или равно NULL, возвращает NULL.

Синтаксис​

TO_IPV6_OR_NULL(<ipv6_str>)

Параметры​

  • <ipv6_str>: IPv6-адрес в виде строки

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

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

Значение результата:

  • Возвращает значение типа IPv6, двоичное представление которого совпадает с двоичным представлением значения, возвращаемого функцией ipv6_string_to_num
  • Возвращает NULL, если входное значение равно NULL или представляет собой некорректный IPv6-адрес

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

  • Эквивалентно to_ipv6_or_null → тип IPv6; подходит для случаев, когда таблицы создаются со столбцами типа IPv6
  • При некорректных входных данных возвращает NULL, не вызывая исключений

Примеры​

Преобразование текстового IPv6-адреса 2001:1b70:a1:610::b102:2 в тип IPv6.

SELECT to_ipv6_or_null('2001:1b70:a1:610::b102:2') as v6;
+-------------------------------+
| v6 |
+-------------------------------+
| 2001:1b70:a1:610::b102:2 |
+-------------------------------+

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

SELECT to_ipv6_or_null(NULL) as v6;
+------+
| v6 |
+------+
| NULL |
+------+

Если текстовое представление IPv6-адреса некорректно, возвращается NULL.

SELECT to_ipv6_or_null('not-an-ip') as v6;
+------+
| v6 |
+------+
| NULL |
+------+

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

TO_IPV6_OR_NULL