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

TO_IPV6_OR_DEFAULT

Описание​

Принимает IPv6-адрес в строковом представлении и возвращает значение типа IPv6. При некорректных входных данных или входном значении NULL возвращает значение по умолчанию ::.

Синтаксис​

TO_IPV6_OR_DEFAULT(<ipv6_str>)

Параметры​

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

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

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

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

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

Особенности использования​

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

Примеры​

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

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

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

SELECT to_ipv6_or_default(NULL) as v6;
+----+
| v6 |
+----+
| :: |
+----+

При некорректном текстовом представлении IPv6-адреса возвращается значение по умолчанию ::.

SELECT to_ipv6_or_default('not-an-ip') as v6;
+----+
| v6 |
+----+
| :: |
+----+

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

TO_IPV6_OR_DEFAULT