sql >> Database teknologi >  >> RDS >> Oracle

regexp_replace:indsæt et mellemrum i en streng, hvis det ikke allerede er til stede

Her er en mulig løsning ved at bruge REGEXP_REPLACE funktion:

-- Match the string "st." followed by zero or more spaces and a word character,
-- replace it with "st." followed by exactly one space and the captured character
select city,
       regexp_replace(city, 'st\.\s*(\w)', 'st. \1' ) as city_formatted
  from t
 order by city;

Output:

CITY               CITY_FORMATTED      
------------------ --------------------
st.   triple space st. triple space    
st.  double space  st. double space    
st. ulrich         st. ulrich          
st.paul            st. paul



  1. Brug af funktionel notation i PostgreSQL-forespørgsler i stedet for punktnotation

  2. Sende en varchar fuld af kommaseparerede værdier til en SQL Server IN-funktion

  3. Sådan finder du duplikerede poster ved at bruge Group by og Having-klausulen i SQL Server - SQL Server / TSQL Tutorial Part 132

  4. Fejl:ER_WRONG_VALUE_COUNT_ON_ROW:Kolonneantal stemmer ikke overens med værdiantallet i række 1