sql >> Database >  >> RDS >> Oracle

Oracle-tijdstempel naar sql-server DateTime

Het volgende werkt 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;

Ironisch genoeg werkt het niet in SQL Server 2012. Daar moet je denk ik het volgende doen:

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;

Merk op dat in beide gevallen milliseconden worden gebruikt in plaats van microseconden. Ik geloof niet dat SQL Server datum-tijdwaarde met zoveel precisie biedt.



  1. Lijsten in MyBatis 'IN'-clausule

  2. UNPIVOT op meerdere kolommen om meerdere kolommen te retourneren

  3. hoe waarde te krijgen van select-query in trigger in mysql5?

  4. PHP Roteren en toevoegen aan een array