SELECT REGEXP_REPLACE( LOWER(TRIM('Isabelle Cándido de Paula')), '(\b\w)(\w''*)', x -> upper(x[1]) || lower(x[2])) Results in: Isabelle cándido De Paula Must be: Isabelle Cándido De Paula