我的表格中有一列包含以下值:
'2.190.44.6'
'2.185.36.5'
'2.180.85.8'
'2.180.53.5'
'2.170.49.5'
'2.160.55.8'
'2.145.37.5'
我想只获取最新的值,并且对将来添加的地址值是通用的。
目前以下情况不起作用:
select device from table
where device NOT LIKE '2.1[0-7]%.[0-7]%'
结果应该只有以下数值:
'2.190.44.6'
'2.185.36.5'
'2.180.85.8'
'2.180.53.5'
感谢您的帮助!!
答案 0 :(得分:1)
我认为你可以在这里使用substring
:
SELECT device
FROM yourTable
WHERE substring(device for 4) = '2.18' OR
substring(device for 4) = '2.19'
有关如何使用Postgres'substring
功能的良好资源,请参阅TechOnTheNet。
<强>更新强>
如果您计划将来发布2.0
,并且您只想匹配第一个次要版本模式,那么您可以按如下方式修改查询:
SELECT device
FROM yourTable
WHERE substring(device from 3 for 2) = '18' OR
substring(device from 3 for 2) = '19'