Simple: don't store date information as strings - always store it as DATE or DATETIME values instead.
The problem is that there are a huge number of ways to enter a date, and they are all equaly valid.
Unfortunately, you can't tell just by looking at the string which date it is:
01/02/03 Could be 1st Feb 2003 (Europe)
Could be 2nd Jan 2003 (US)
Could be 3rd Feb 2001 (Japan)
So by the time the string has arrived at your database, it's too late - all the information you need to work out what the date is has been discarded: it was most likely to be defined by the Culture that the PC the user you entered it was set to.
And what are you supposed to do with "1-avr-1987" (French)? Or "1-ian-1987" (German)?
You may be able to convert it by reading your whole DB into C# and using DateTime.TryParse to convert them to DateTime values and then updating a new column, but even then the examples above will all be assumed to be in the culture of the PC you app is running on.
So the answer is: Yes, but it won't be reliable, and it will almost certainly contain errors.
Change your DB to use Date based fields - and never store them as strings again.