We can use regexp_replace() function to replace multiple consecutive blanks with a single blank. For example, we have the following table.
SQL> select * from tbl_text;
ID VAL
---------- --------------------------------
1 hello world !
1 how are you doing
In the following query, regexp_replace() finds patterns that have 2 or more spaces and replace them with single blank.
SQL> select val, regexp_replace(val, '[[:space:]]{2,}',' ' ') val2 from tbl_text;
VAL VAL2
-------------------------------- --------------------------------
hello world ! hello world !
how are you doing how are you doing