Pour l'instant, ce sont des synonymes.
VARCHAR est réservé par Oracle pour prendre en charge la distinction entre NULL et une chaîne vide à l'avenir, comme ANSI prescriptions standard.
VARCHAR2 ne fait pas la distinction entre un NULL et chaîne vide, et ne le sera jamais.
Si vous comptez sur une chaîne vide et NULL étant la même chose, vous devez utiliser VARCHAR2 .