sql >> Databasteknik >  >> RDS >> Oracle

regexp_ersätt:infoga ett mellanslag i en sträng om det inte redan finns

Här är en möjlig lösning med 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;

Utdata:

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



  1. Uppdatera fråga med korrelerad underfråga

  2. Åtkomst nekad när fil infogas i SQL Server 2012 FileTable med File.CreateFile på ASP.NET-webbplatsen

  3. PROBLEM:Mysql konverterar Enum till Int

  4. Bandbreddsvänlig frågeprofilering för Azure SQL Database