我需要执行以下查询:
SELECT * FROM users WHERE ip LIKE '88.99.%';
问题是
inet
数据类型似乎不支持通配符(至少不是我在前面的查询中使用它们的方式)。我想知道的是,在指定
LIKE
过滤器之前将字段转换为字符串是否是明智之举? (另一方面,这可能会减慢整个查询的速度,即使该方法本身是有效的。) 最佳答案
将子网运算符用于此类查询。 '88.99.0.0/16'
应该这样做:
SELECT * FROM users WHERE ip << inet '88.99.0.0/16';
关于postgresql - 如何在 Postgres 的 inet 字段上使用 LIKE,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16190669/