Засега те са синоними.
VARCHAR
е запазен от Oracle
за да поддържа разграничение между NULL
и празен низ в бъдеще, като ANSI
стандартът предписва.
VARCHAR2
не прави разлика между NULL
и празен низ и никога няма да го направи.
Ако разчитате на празен низ и NULL
тъй като е едно и също нещо, трябва да използвате VARCHAR2
.