PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Extrahieren Sie den ersten numerischen Teil des Felds

SELECT substring(address, '^\\d+') AS heading_number
FROM   tbl
WHERE  zip = 12345
AND    address ILIKE '3%'

Gibt eine oder mehrere Ziffern ab dem Anfang der Zeichenfolge zurück.
Lassen Sie den Anker ^ weg wenn Sie die erste Ziffernfolge wollen im String anstelle der Sequenz am Anfang . Beispiel:

SELECT substring('South 13rd street 3452435 foo', '\\d+');

Lesen Sie mehr über substring() und reguläre Ausdrücke im Handbuch.
In neueren Versionen (8.0+, mit standard_conforming_strings = on ), verwenden Sie Escape-String-Syntax so:

SELECT substring('South 13rd street 3452435 foo', E'\\d+');

Oder einfach:

SELECT substring('South 13rd street 3452435 foo', '\d+');