You can execute the following code in SQL Server 2008:
select convert(datetime, left(t, 10), 105) +
convert(time, substring(t, 12, 12), 114)
from (select '01-11-1999 09:22:16.162632' as t) t;
However, it doesn't work in SQL Server 2012. There, I think you need to use the following:
select dateadd(ms, datediff(ms, 0, convert(datetime, substring(t, 12, 12), 114)),
convert(datetime, left(t, 10), 105)
)
from (select '01-11-1999 09:22:16.162632' as t) t;
Note in both the cases, this uses milliseconds instead of microseconds. I don't think that the SQL Server offers date-time value with that much precision.
Looking for SQL Tutorial? Join the SQL Training course to gain more knowledge on SQL.