Чтобы напрямую ответить на ваш вопрос, если столбец REG_DATE (как он должен быть) определен как DATE, то он, как сказано во всех комментариях, будет сохранен во внутреннем двоичном формате Oracle для DATE. .
И вы предоставили
TO_CHAR(SYSDATE,'FMmonth DD, YYYY')
просто принудительно включит подразумеваемую функцию TO_DATE () в строке, полученной в результате использования TO_CHAR. Подразумеваемый TO_DATE будет использовать маску формата, определенную управляющим параметром NLS_DATE_FORMAT. И если эта маска не соответствует той, что вы использовали в вашем TO_CHAR (а это очень маловероятно), вы получите сообщение об ошибке.
SQL> create table my_table (id number,
2 fname varchar2(10),
3 reg_date date
4 );
Table created.
SQL>
SQL> insert into my_table (id,fname,reg_date)
2 values (1, 'abc', TO_CHAR(SYSDATE,'FMmonth DD, YYYY') );
values (1, 'abc', TO_CHAR(SYSDATE,'FMmonth DD, YYYY') )
*
ERROR at line 2:
ORA-01858: a non-numeric character was found where a numeric was expected
SQL> --
SQL> insert into my_table (id,fname,reg_date)
2 values (1, 'abc', SYSDATE);
1 row created.
SQL> --
SQL> select id,
2 fname,
3 reg_date,
4 to_char(reg_date,'FMmonth DD, YYYY') date1,
5 to_char(reg_date,'dd-MON-yyyy') date2,
6 to_char(reg_date,'yyyy-mm-dd hh24:mi:ss') date3
7 from my_table
8 ;
ID FNAME REG_DATE DATE1 DATE2 DATE3
--- ----- --------- ----------------- ----------- -------------------
1 abc 18-FEB-21 february 18, 2021 18-FEB-2021 2021-02-18 12:08:45
1 row selected.
person
EdStevens
schedule
18.02.2021
DATE
илиTIMESTAMP
, т.е. вставляйте простыеSYSDATE
илиTRUNC(SYSDATE)
- person Wernfried Domscheit   schedule 18.02.2021