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

Oracle sql заявката трябва да се промени въз основа на часовата зона

Намерих отговора на въпроса си.

очевидно трябва да имате предвид и настройките на часовата зона, когато изчислявате стойността на епохата

  1. добавете 10 часа (10*60*60*1000 милисекунди) към стойността на епохата - текущата стойност на епохата е в GMT, така че за да стане EST (GMT+10), добавих това.
  2. Използва се TO_TIMESTAMP_TZ вместо to_date

    SELECT tableA.columnA,tableB.columnB 
    FROM tableA INNER JOIN tableB ON  tableA.aId = tableB.aId 
    WHERE (TO_TIMESTAMP_TZ('1970-01-01 00:00:00 +10:00','yyyy-MM-dd hh24:mi:ss TZH:TZM') +    ((tableB.epochValue+(10*60*60*1000))/60/60/24/1000)) >  to_date('##FROM_DATE## +10:00', 'yyyy-MM-dd hh24:mi:ss TZH:TZM') 
    AND (TO_TIMESTAMP_TZ('1970-01-01 00:00:00 +10:00','yyyy-MM-dd hh24:mi:ss TZH:TZM') + ((tableB.epochValue+(10*60*60*1000))/60/60/24/1000)) <= to_date('##TO_DATE## +10:00', 'yyyy-MM-dd hh24:mi:ss TZH:TZM');
    



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. файл или LOB операция FILEOPEN се провали при зареждане на XML файл в таблица

  2. Задействайте избиране на дъщерни записи, умножаване на техните стойности и актуализиране на родителски запис

  3. Python DPI-1047 Не може да намери dlopen(libclntsh.dylib) на macOS

  4. получаване на грешка ORA-00907 при създаване на таблица в sql developer

  5. Деклариране и задаване на променливи в оператор Select