Per ora sono sinonimi.
VARCHAR
è riservato da Oracle
per supportare la distinzione tra NULL
e una stringa vuota in futuro, come ANSI
standard prescrive.
VARCHAR2
non distingue tra un NULL
e stringa vuota, e non lo farà mai.
Se fai affidamento su una stringa vuota e NULL
essendo la stessa cosa, dovresti usare VARCHAR2
.