sql >> Databáze >  >> RDS >> PostgreSQL

Extrahujte první číselnou část pole

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

Vrátí 1 nebo více číslic od začátku řetězce.
Vynechejte kotvu ^ pokud chcete první sekvenci číslic v řetězci namísto sekvence na začátku . Příklad:

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

Přečtěte si o substring() a regulární výrazy v příručce.
V novějších verzích (8.0+, s standard_conforming_strings = on ), použijte syntaxi escape řetězce takhle:

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

Nebo jen:

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



  1. MySql dotaz v cake php Api

  2. CHYBA:nesplnitelná omezení při instalaci PostGIS na image Alpine Docker

  3. Dotaz pro převod z datetime na date mysql

  4. Jak aktualizovat více duplikátů s různými hodnotami ve stejné tabulce?