I found the answer.
The variable must be between quote in the script.
declare
adate VARCHAR2(20);
begin
adate := '&adate';
query := 'select to_date(''' || adate ||''', ''YYYY/MM/DD HH24:MI:SS'') from dual';
dbms_output.put_line(query);
end;