sql >> Databáze >  >> RDS >> Oracle

Časové razítko Oracle na server SQL DateTime

Následující funguje v 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;

Je ironií, že to nefunguje v SQL Server 2012. Tam si myslím, že musíte udělat:

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;

Všimněte si, že v obou případech to používá spíše milisekundy než mikrosekundy. Nevěřím, že SQL Server nabízí hodnotu data a času s takovou přesností.



  1. MySQL Case s vložením a aktualizací

  2. Pole tabulky mysql - ID zdroje #7

  3. MySQL:Transakce napříč více vlákny

  4. Jak vložit stejná data do dvou tabulek v mysql