IPv6 и иногда вообще что-то иное в формате text.
И вот я хочу отобрать только ipv4, но красиво.
Затем отобраться только ipv6.
В целом, я сделал некоторым путем, но мне он не нравиться.
select *
from ipaddresses ip
where ip.ipaddress ~ '^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$';
Хотелось у знатоков спросить, вдруг есть true way.
скастить в какой cidr?
Смотри, у меня ip адреса только в формате ipv4 как текст. Например, 192.168.0.15 Ни каких там сидров нет))) 192.168.0.0/24
Т.е. у вас есть 3 конкретных вариантов типа, в которые надо попробовать преобразовать в конкретном порядке. Тогда вы можете написать функцию на pl/pgsql, в ней использовать EXCEPTION WHEN, чтобы проверять, получилось преобразовать или нет.
Да, я думал об этом, как вариант
Обсуждают сегодня