PostgreSql中的正则表达式匹配
我的表中有一列具有以下值:PostgreSql中的正则表达式匹配,sql,postgresql,Sql,Postgresql,我的表中有一列具有以下值: '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' '2.190.44.6' '2.185.36.5' '2.180.85.8' '2.180.53.5' 我只想获取最新的值,并对将来添加的值进行通用处理 目前,以下措施不起作用: select device from table where device NOT LIKE '2.1[0
'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'
'2.190.44.6'
'2.185.36.5'
'2.180.85.8'
'2.180.53.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'
'2.170.49.5'
'2.160.55.8'
'2.145.37.5'
'2.190.44.6'
'2.185.36.5'
'2.180.85.8'
'2.180.53.5'
提前谢谢你的帮助 我认为您只需在此处使用
子字符串即可:
SELECT device
FROM yourTable
WHERE substring(device for 4) = '2.18' OR
substring(device for 4) = '2.19'
有关如何使用Postgres的子字符串
函数的详细信息,请参阅
更新:
如果您计划在将来发布2.0
版本,并且您只想匹配第一个次要版本模式,那么您可以按如下方式修改查询:
SELECT device
FROM yourTable
WHERE substring(device from 3 for 2) = '18' OR
substring(device from 3 for 2) = '19'