Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Carimbo de data e hora do Oracle para o sql server DateTime


O seguinte funciona no SQL Server 2008 (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;

Ironicamente, não funciona no SQL Server 2012. Aí, acho que você tem que fazer:
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;

Observe que em ambos os casos, isso usa milissegundos em vez de microssegundos. Não acredito que o SQL Server ofereça valor de data e hora com tanta precisão.