SELECT substring(address, '^\\d+') AS heading_number
FROM tbl
WHERE zip = 12345
AND address ILIKE '3%'
Retorna 1 ou mais dígitos do início da string.
Deixe de fora a âncora
^
se você quiser a primeira sequência de dígitos na string em vez da sequência no início . Exemplo:SELECT substring('South 13rd street 3452435 foo', '\\d+');
Leia sobre
substring()
e expressões regulares
no manual.Nas versões mais recentes (8.0+, com
standard_conforming_strings = on
), use a sintaxe de string de escape
assim:SELECT substring('South 13rd street 3452435 foo', E'\\d+');
Ou apenas:
SELECT substring('South 13rd street 3452435 foo', '\d+');