sql >> Base de Datos >  >> RDS >> PostgreSQL

Extraer la primera parte numérica del campo

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

Devuelve 1 o más dígitos desde el inicio de la cadena.
Omita el ancla ^ si desea la primera secuencia de dígitos en la cadena en lugar de la secuencia al principio . Ejemplo:

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

Lea acerca de substring() y expresiones regulares en el manual.
En versiones más recientes (8.0+, con standard_conforming_strings = on ), use sintaxis de cadena de escape así:

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

O simplemente:

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