Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Oracle-Zeitstempel für SQL Server DateTime

Folgendes funktioniert in 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;

Ironischerweise funktioniert es in SQL Server 2012 nicht. Dort müssen Sie meiner Meinung nach Folgendes tun:

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;

Beachten Sie, dass in beiden Fällen Millisekunden statt Mikrosekunden verwendet werden. Ich glaube nicht, dass SQL Server Datums-Zeit-Werte mit so hoher Genauigkeit anbietet.