2016-11-11 6 views
1

Ich habe eine Spalte in meiner Tabelle mit den folgenden Werten:Regulärer Ausdruck in PostgreSql passend

'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' 

Ich mag nur aktuelle Werte holen und seine generischen Wert anzusprechen, die in Zukunft hinzugefügt werden.

derzeit die folgenden nicht funktionieren würde:

'2.190.44.6' 
'2.185.36.5' 
'2.180.85.8' 
'2.180.53.5' 

Danke für die Hilfe im Voraus !!:

select device from table 
where device NOT LIKE '2.1[0-7]%.[0-7]%' 

Die Ergebnisse sollten nur die folgenden Werte

Antwort

1

Ich glaube, Sie weg substring mit nur mit hier bekommen:

SELECT device 
FROM yourTable 
WHERE substring(device for 4) = '2.18' OR 
     substring(device for 4) = '2.19' 

TechOnTheNet für eine gute Ressource, wie substring Funktion zu verwenden, Postgres See.

Update:

Wenn Sie mit einer 2.0 Freisetzung in die Zukunft planen, und Sie wollen einfach nur die erste kleinere Version Muster passen, dann können Sie die Abfrage wie folgt ändern:

SELECT device 
FROM yourTable 
WHERE substring(device from 3 for 2) = '18' OR 
     substring(device from 3 for 2) = '19' 
+0

Danke für die Antwort. Das würde funktionieren. –