以下はSQLServer2008で機能します( SQL Fiddle ):
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;
皮肉なことに、SQL Server 2012では機能しません。そこでは、次のことを行う必要があると思います。
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;
どちらの場合も、これはマイクロ秒ではなくミリ秒を使用することに注意してください。 SQLServerがそれほど正確な日時値を提供するとは思わない。