The wisest, I suppose, would be to change your varchar column into date column. I don't know if your database would automatically recognise varchar as dates so be carefull with it (try it on some not important data), otherwise it would set a default date for every row.
To avoid it, you can create a new column with date type, read all dates from varchar, format it in database way (YYYY-MM-DD) as described below, and write to the new column. Then remove the old one and rename the new to be the same as old.
If you really got strong arguments to leave varchar column, I'd reverse information in your string (this will allow to sort it as strings).
First get all dates from your varchar column, for each date:
- split date by "."
- join it with concatenation operator but year first, then month and day as last.
- update your varchar column replacing date with a new one
Hope it helps.