我的数据库中有一个名为mgmt的列,它是inet类型
我想这样做:
select * from source
where mgmt LIKE inet('10.208.6%')
但这会出现错误“error:invalid input syntax for type inet:”
知道我如何将LIKE子句用于inet类型吗?
最佳答案
第一个想法:
转换成文本,然后尝试:
WHERE mgmt::text LIKE '10.208.6%'
第二个想法:
试试这个
WHERE mgmt BETWEEN inet('10.208.60.0') AND inet('10.208.69.255')
(或者更准确地说,因为通配符同时包含
6
和60
s)WHERE (mgmt BETWEEN inet('10.208.60.0') AND inet('10.208.69.255'))
OR (mgmt BETWEEN inet('10.208.6.0') AND inet('10.208.6.255'))
第三个想法:
如果您只想检查
6
范围,请使用<<
operator检查IP范围:WHERE mgmt << inet('10.208.6/24')
关于postgresql - 如何对Inet列使用LIKE?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58647128/