Sure, You Can Use TO_DATE
DECLARE
l_holiday DATE := TO_DATE ('2016-01-01', 'YYYY-MM-DD');
BEGIN
DBMS_OUTPUT.PUT_LINE (TO_CHAR (l_holiday, 'FMMonth DD, YYYY'));
END;
But You Can Simplify Matters
DECLARE
l_holiday DATE := DATE '2016-01-01';
BEGIN
DBMS_OUTPUT.PUT_LINE (TO_CHAR (l_holiday, 'FMMonth DD, YYYY'));
END;
Only One Format Supported
DECLARE
/* Invalid format, fails with:
PLS-00166: bad format for date, time, timestamp or interval literal
*/
l_holiday DATE := DATE '01-JAN-2016';
BEGIN
DBMS_OUTPUT.PUT_LINE (l_holiday);
END;