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

DateTime on Where Clause Oracle

TO_DATE('01/01/1970 00:00:00', 'MM/DD/YYYY HH24:MI:SS') преобразува низ (първи аргумент) в определен формат (втори аргумент) в дата.

(create_date / ( 60 * 60 * 24 )) дата_на_създаване съдържа секунди, този израз ги преобразува в брой дни (1 минута =60 секунди, 1 час =60 минути, 1 ден =24 часа => 60*60*24 =броят секунди в деня). Когато добавите число към дата, Oracle смята, че това число съдържа дни, затова имате нужда от такъв разговор.

TO_DATE('01/01/1970 00:00:00', 'MM/DD/YYYY HH24:MI:SS') + (create_date / ( 60 * 60 * 24 )) ви дава дата, съхранена в create_date, но в "традиционен" формат

Изглежда, че трябва да сравните unix времето с датата. Би било по-добре да използвате това условие:

Select
....
From
...
Where create_date = trunc( (TO_DATE('06/30/14 21:41:11', 'MM/DD/YY HH24:MI:SS') 
                          - TO_DATE('01/01/1970 00:00:00', 'MM/DD/YYYY HH24:MI:SS')
                           ) * 24 * 60 * 60
                         );


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да се свържете с Oracle като SYS от SQL*Plus в Java

  2. Как да вмъкна стойност във вложена таблица, без да губя данни в тази таблица?

  3. Как да копирате или актуализирате индекси и ограничения на таблици от различна база данни?

  4. Симулиран OLAP

  5. транспониране на колона в ред оракул