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

REGEXP_REPLACE - fjern KUN kommaer fra strengen, hvis den er omgivet af ()'er

Dette vil fungere for en konstant længde af argumenter med i parentes.

REGEXP_REPLACE(t.col1, '(\(.*?),(.*?),(.*?\))', '\1\2\3') new_col
 

opdatering inspireret af @Kobis kommentar:
dette regulære udtryk fjerner 1., valgfri 2. og valgfri 3. , mellem ()
den kan forlænges op til 9 (jeg har en bog at angive \1 ... \500 burde være muligt, men kun \1 ... \9 virkede)

REGEXP_REPLACE(t.col1, '\(([^,]*),([^,]*),?([^,]*),?([^,]*)\)', '(\1\2\3\4)') new_col

  1. MySQL-forespørgsel for at returnere rækker, der er lig med eller større end en bestemt dato, hvor datoen er adskilt i år, måned og dag kolonner

  2. databasen bliver ikke opdateret

  3. T-SQL - Indsæt data i overordnede og underordnede tabeller

  4. Sortering af MYSQL Tag-tabel