Последнее обновление
IPV4_STRING_TO_NUM_OR_DEFAULT
Описание
Принимает строку, содержащую IPv4-адрес в формате A.B.C.D (десятичные числа, разделённые точками). Возвращает значение типа BIGINT, представляющее числовое значение соответствующего IPv4-адреса с сетевым порядком байтов (big endian).
Синтаксис
IPV4_STRING_TO_NUM_OR_DEFAULT(<ipv4_string>)
Параметры
<ipv4_string>: IPv4-адрес в виде строки (формат A.B.C.D)
Возвращаемое значение
Тип возвращаемого значения: BIGINT
Значение результата:
- Возвращает числовое значение соответствующего IPv4-адреса в виде целого числа с сетевым порядком байтов (big endian)
- Возвращает
0для некорректных строк IPv4 или входного значенияNULL
Примечания по использованию
- Функция не генерирует исключений; при некорректных входных данных всегда возвращает 0 (соответствует
0.0.0.0) - Пробелы в начале и конце входных строк не допускаются
- Часто используется для преобразования, устойчивого к ошибкам, например при очистке некорректных данных
Примеры
Преобразование текстового IPv4-адреса 192.168.0.1 в соответствующее числовое значение в виде целого числа с сетевым порядком байтов (big endian).
select ipv4_string_to_num_or_default('192.168.0.1');
+----------------------------------------------+
| ipv4_string_to_num_or_default('192.168.0.1') |
+----------------------------------------------+
| 3232235521 |
+----------------------------------------------+
Граничные значения IPv4 (минимальное и максимальное).
select
ipv4_string_to_num_or_default('0.0.0.0') as min_v4,
ipv4_string_to_num_or_default('255.255.255.255') as max_v4;
+--------+-----------+
| min_v4| max_v4 |
+--------+-----------+
| 0 | 4294967295|
+--------+-----------+
При некорректных входных данных возвращается 0 (исключение не генерируется).
select ipv4_string_to_num_or_default('256.0.0.1');
+--------------------------------------------+
| ipv4_string_to_num_or_default('256.0.0.1') |
+--------------------------------------------+
| 0 |
+--------------------------------------------+
select ipv4_string_to_num_or_default(' 1.1.1.1 ');
+--------------------------------------------+
| ipv4_string_to_num_or_default(' 1.1.1.1 ') |
+--------------------------------------------+
| 0 |
+--------------------------------------------+
select ipv4_string_to_num_or_default(NULL);
+-------------------------------------+
| ipv4_string_to_num_or_default(NULL) |
+-------------------------------------+
| 0 |
+-------------------------------------+
Ключевые слова
IPV4_STRING_TO_NUM_OR_DEFAULT