Я сталкивался с этим несколько раз, импортируя данные из AS400 (дата хранится в виде строки) в таблицу sql, где в середине нет приложения для выполнения форматирования, поэтому я понимаю, почему вы можете захотеть сделать это.
Посмотрите в Cast и Convert () (http://msdn.microsoft.com/en-us/library/ms187928.aspx)
select Convert(varchar,Cast(Date_of_hire as datetime) ,101) as Date_of_hire from Employee where employeeID='input'
Это будет форматировать как 01.01.2001.
Проблема с конвертированием в том, что он действительно ограничен в том, как он его форматирует.
Чтобы получить дату из такой строки, вы можете оставить команду convert out и просто приведите ее как datetime.