You'd probably be best off writing some PL/SQL. Something along the following lines should get you fairly close:
Code:declare v_string clob := '[2003/10/20 09:35:46][User_name] blah blah blah [2003/10/20 09:35:01][User_name] blah blah blah [2003/10/20 09:34:32][User_name] blah blah blah'; v_outstring clob; v_substring1 varchar2(1000); v_substring2 varchar2(1000); v_counter integer := 1; v_pos1 integer; v_pos2 integer; begin loop v_pos1 := instr(v_string, '[', 1, v_counter); v_pos2 := instr(v_string, ']', 1, v_counter); v_substring1 := substr(v_string, v_pos1+1, v_pos2 - v_pos1-1); v_substring1 := date_to_unixts(to_date(v_substring1, 'YYYY/MM/DD HH24:MI:SS')); v_pos1 := v_pos2 + 1; v_counter := v_counter + 2; v_pos2 := instr(v_string, '[', 1, v_counter); if v_pos2 = 0 then v_pos2 := length(v_string)+1; end if; v_substring2 := translate(substr(v_string, v_pos1, v_pos2-v_pos1), '[]', '..')||'.'; v_outstring := v_outstring||v_substring1||v_substring2; exit when v_pos2 = length(v_string)+1; end loop; dbms_output.put_line(v_outstring); end;




Reply With Quote