在 PostgreSQL 数据库中,我有 table blocks
,它是从 GeoLite2-City-Blocks.csv 导入的,具有以下结构:
network_start_ip cidr NOT NULL,
network_mask_length integer NOT NULL,
geoname_id bigint,
registered_country_geoname_id bigint,
represented_country_geoname_id bigint,
postal_code character(50),
latitude DOUBLE PRECISION,
longitude DOUBLE PRECISION,
is_anonymous_proxy boolean,
is_satellite_provider boolean
存储 IP 地址使用 CIDR 数据类型,但在 GeoLite2-City-Blocks.csv 中只有 START_IP_ADDRESS 和 MASK_LENGTH。
此表中的数据示例:
::ffff:1.0.0.0/128 120 2077456 2077456 ....
如何选择包含我的 IP 地址的行,例如 87.197.148.121 ?是否需要计算 END_IP_ADDRESS 来分隔列?