Вы смешиваете 2 разных понятия здесь. DEFINE - это директива SQLPLUS, которая принимает базовую форму var = text.При использовании SQLPLUS выполняет замену строки для var перед отправкой запроса в механизм sql и с точки зрения обработки SQL Developer эмулирует SQLPLUS.Тогда в вашем случае sql engine увидит только
Select 02-03-2019 from dual;
, что соответствует -2020 - результату, который вы получили.
Так как поставляемая переменная видна движку sql после замены строки, она не знает вашего предполагаемого использования, вам нужно выполнить преобразование в вашем выражении sql.Таким образом, ваше утверждение должно быть:
выберите to_date (&& FromDate, 'MM-DD-YYYY') из dual;
Это довольно просто, вам нужно помнить только о том, какой компонент (приложениевы 'говорите' с каждым оператором.
Оператор sql, опубликованный вами в качестве примера "как использовать", является правильным.