PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Estrai la prima parte numerica del campo

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

Restituisce 1 o più cifre dall'inizio della stringa.
Tralascia l'ancora ^ se vuoi la prima sequenza di cifre nella stringa invece della sequenza all'inizio . Esempio:

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

Leggi di substring() e espressioni regolari nel manuale.
Nelle versioni più recenti (8.0+, con standard_conforming_strings = on ), usa sintassi della stringa di escape così:

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

O semplicemente:

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