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

Dotaz Oracle sql se musí změnit na základě časového pásma

Našel jsem odpověď na mou otázku.

zjevně musíte při výpočtu hodnoty epoch zvážit také nastavení časového pásma

  1. přidejte 10 hodin (10*60*60*1000 milisekund) k hodnotě epochy – aktuální hodnota epochy je v GMT, takže aby to bylo EST (GMT+10), přidal jsem toto.
  2. Použito TO_TIMESTAMP_TZ místo 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. Databázové dotazy:Jak najít jehlu v kupce sena?

  2. Přidání více parametrizovaných proměnných do databáze v c#

  3. finder_sql neanalyzuje řetězec pomocí Rails

  4. mysqldump neznámá možnost bez pípnutí