inet
alanı olarak tanımlanan bir postgres veritabanında bir ip alanım var.ipv4 vs ipv6 adreslerini tanımlamak için yöntem
Şu anda, ipv4 vs ipv6'yı belirlemek için, bu noktaya göre kolon sayısı ve/veya '.' Kullanabilirim. Bir dereceye kadar sayın, ama daha iyi bir yol olmalı, değil mi?
COLON_COUNT = (length(ip::text) - length(replace(ip::text, ':', '')));
DOT_COUNT = (length(ip::text) - length(replace(ip::text, '.', '')));
Bir adres ipv4 veya ipv6 olup olmadığını belirlemek için temiz/iyi bir yol nedir?
Sanırım takip eden sıfırlar kesilmediyse, alanı sadece bir sayıya dönüştürebilir ve numara 2 güçten daha az 32 IPv4 olup olmadığını görebilir (IPV6). Bu, sayı dönüşümünden önce nokta ve noktaların filtrelenmesi anlamına gelir. – weismat
Bu iyi bir fikir! – monkut