sql >> Databasteknik >  >> RDS >> Oracle

Oracle tidsstämpel till sql-server DateTime

Följande fungerar i 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;

Ironiskt nog fungerar det inte i SQL Server 2012. Där tror jag att du måste göra:

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;

Observera att i båda fallen används millisekunder snarare än mikrosekunder. Jag tror inte att SQL Server erbjuder datum och tid värde med så stor precision.



  1. Rails 3.2 Postgres Save Error ActiveRecord::StatementInvalid:PG::Error:ERROR:Syntaxfel nära 'T' vid position 5

  2. Få ett specifikt datumintervall

  3. Skapa en utdatafil med fast bredd i platt format från en SQL-fråga

  4. Hur man stänger av mysql-fel från att visas på skärmen i CodeIgniter