Das folgende Beispiel gibt alle Zeilen zurück, die mindestens eine numerische Ziffer in PostgreSQL enthalten.
Beispiel
Angenommen, wir haben eine Tabelle namens Products
mit den folgenden Daten in seinem ProductName
Spalte:
SELECT ProductName
FROM Products;
Ergebnis:
productname --------------------------------- Left handed screwdriver Right handed screwdriver Long Weight (blue) Long Weight (green) Straw Dog Box Bottomless Coffee Mugs (4 Pack) Smash 2000 Sledge Hammer Chainsaw (3 spare fingers)
Diese Spalte enthält Zeichendaten, aber einige Zeilen enthalten Zahlen innerhalb dieser Zeichendaten (obwohl sie nicht als numerischer Typ gespeichert sind).
Wir können die folgende Abfrage verwenden, um nur die Zeilen zurückzugeben, die Zahlen enthalten, die durch numerische Ziffern dargestellt werden:
SELECT ProductName
FROM Products
WHERE ProductName ~ '[0-9]+';
Ergebnis:
productname --------------------------------- Bottomless Coffee Mugs (4 Pack) Smash 2000 Sledge Hammer Chainsaw (3 spare fingers)
Wie erwartet werden nur die Zeilen zurückgegeben, die Zahlen enthalten.
In PostgreSQL ~
ist ein Operator, bei dem zwischen Groß- und Kleinschreibung unterschieden wird, um den angegebenen regulären Ausdruck abzugleichen. Verwenden Sie für Übereinstimmungen ohne Berücksichtigung der Groß-/Kleinschreibung ~*
.
Sie können !~
verwenden um alle Zeilen zurückzugeben, die nicht mit dem regulären Ausdruck übereinstimmen (und !~*
für Übereinstimmungen ohne Berücksichtigung der Groß-/Kleinschreibung).