Oracle
 sql >> база данни >  >> RDS >> Oracle

Времево клеймо на Oracle към sql сървър DateTime

Следното работи в 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;

По ирония на съдбата не работи в SQL Server 2012. Там мисля, че трябва да направите:

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;

Имайте предвид, че и в двата случая това използва милисекунди, а не микросекунди. Не вярвам, че SQL Server предлага стойност за дата и час с толкова голяма точност.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Възможно ли е свързване към друга база данни?

  2. Oracle:защо не използва паралелно изпълнение?

  3. SQL заявка за разрешаване на транзитивни зависимости в базата данни

  4. Как да извика функция или съхранена процедура на Oracle, използвайки рамка за постоянство на пружината?

  5. Oracle SQL:Използване на функция CHR() с || съединявам