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

Udtræk den første numeriske del af feltet

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

Returnerer 1 eller flere cifre fra starten af ​​strengen.
Udlad ankeret ^ hvis du vil have den første sekvens af cifre i strengen i stedet for sekvensen i starten . Eksempel:

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

Læs om substring() og regulære udtryk i manualen.
I nyere versioner (8.0+, med standard_conforming_strings = on ), brug escape-strengsyntaks sådan her:

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

Eller bare:

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



  1. SQL Server ON SLET Trigger

  2. mysql - vis 2 separate udbydernavn fra 1 udbydertabel

  3. Sådan klones en bruger i Oracle

  4. Hvordan undslipper man kommaer i CSV-værdier, når man importerer tabel til MySQL?