sql - IP 地址或 inet 类型的 Postgres "is not contained by"运算符

标签 sql postgresql ip-address where-clause

Postgres 有一个运算符用于确定 IP 地址是否包含在给定范围内,例如:

SELECT * FROM clients WHERE ip_address <<= inet '10.0.0.0/16';

我如何过滤反向集,即不在该子网中的地址集?网络功能的文档似乎没有可以执行此操作的运算符。 https://www.postgresql.org/docs/12/functions-net.html

最佳答案

使用NOT:

SELECT * 
FROM clients 
WHERE NOT (ip_address <<= inet '10.0.0.0/16');

括号不是必需的,inet 运算符的优先级高于 bool 运算符。

关于sql - IP 地址或 inet 类型的 Postgres "is not contained by"运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61924367/

相关文章:

mysql - 审计触发器,将 Blob 作为 LongText 插入

ruby-on-rails - 事件记录 : get all dates in multiple ranges

Python PostgreSQL 删除重复行

php - 使用 PHP 或 Javascript 自动将浏览器重定向到多个 IP 地址

sql - 即使我排除了零情况,SQL 中除以零错误?

sql - MySQL - 限制连接中的行数?

php - MySQL 中的基本选择和删除 (PDO)

regex - 如何从字符串的开头和结尾删除换行符、回车符和水平制表符?

c++ - 如何打印MAC地址

MySQL连接ip从指定的ip地址变化