Hi All,
I get data from a table and parse it and write into csv in a procedure. However, when the column data station has a comma separated value say ' Willman, 107.1', the csv parsing fails. How to escape commas in the column data when parsing to csv.
Please suggest,
CREATE OR REPLACE PACKAGE BODY TEST.csv_pk
AS
PROCEDURE write_csv (filename VARCHAR2)
IS
v_file UTL_FILE.FILE_TYPE;
CURSOR c_stats (cp_last_run_datetime DATE) IS
SELECT rs.agent,
rs.station,
rs.level
FROM r_stats rs
WHERE rs.record_date BETWEEN cp_last_run_datetime AND SYSDATE;
cr_stat c_stats%ROWTYPE;
BEGIN
v_file := UTL_FILE.FOPEN('CSV', 'STATS.csv', 'w', 32767);
FOR cr_stat IN c_stats(TO_DATE('28/10/2015', 'DD/MM/YYYY'))
LOOP
UTL_FILE.PUT(v_file, ',' || cr_stat.agent);
UTL_FILE.PUT(v_file, ',' || cr_stat.station); --csv parsing fails when data is ' Willman, 107.1'
UTL_FILE.PUT(v_file, ',' || cr_stat.level);
UTL_FILE.NEW_LINE(v_file);
END LOOP;
UTL_FILE.FCLOSE(v_file);
END write_csv;
END csv_pk;