Предполагая, что оба столбца имеют формат DATE, вам необходимо явно преобразовать дату в любой формат, который вы пожелаете, например:
'"' || to_char(lv_proj_start_date, 'dd-Mon-yy', 'nls_date_language=english') || '","'
|| to_char(lv_proj_start_date_plus_1, 'dd-Mon-yy', 'nls_date_language=english') || '",'
NB. Я также преобразовал ваши вызовы функций CONCAT
, чтобы использовать объединениеоператор ||
, так как это гораздо легче читать.Я также комбинировал текстовые строки, где это было возможно.
Я также использовал необязательный третий параметр to_char()
, чтобы явно установить язык даты как английский, что делает его независимым от NLS.
Последнее замечание: вам обязательно нужно выводить даты с двузначными годами?В настоящее время предпочтительны 4 цифры, после Y2K!
ETA: Вот пример, показывающий, что вывод правильный:
DECLARE
lv_proj_start_date DATE := to_date('07/07/2019', 'dd/mm/yyyy');
lv_proj_start_date_plus_1 DATE := lv_proj_start_date + 1;
v_str VARCHAR2(4000);
BEGIN
v_str := '"Testing","' || to_char(lv_proj_start_date, 'dd-Mon-yy', 'nls_date_language=english') || '","'
|| to_char(lv_proj_start_date_plus_1, 'dd-Mon-yy', 'nls_date_language=english') || '"';
dbms_output.put_line(v_str);
END;
/
"Testing","07-Jul-19","08-Jul-19"