First of all: testing of code is not a crime, but a necessity.
If you run your code:
data have;
input start_date $;
datalines;
15/Nov/2015
;
run;
and look at the resulting dataset, you will find that the character date has been truncated to 8 characters. This is because you did not explicitly set a length (Maxim 47) and SAS therefore defaulted to 8.
With a very slight change, the code works:
data have;
input start_date :$11.;
datalines;
15/Nov/2015
;
run;
By simply changing the informat to a date format, and assigning the wanted display format, you will achieve what you want:
data have;
input start_date :date11.;
format start_date yymmddd10.;
datalines;
15/Nov/2015
;
run;
or by running the following conversion step on your original data:
data have;
input start_date :$11.;
datalines;
15/Nov/2015
;
run;
data want;
set have (rename=(start_date=_start_date));
start_date = input(_start_date,date11.);
format start_date yymmddd10.;
drop _start_date;
run;