sql >> Database >  >> RDS >> Oracle

Oracle sql-query moet worden gewijzigd op basis van tijdzone

Ik heb het antwoord op mijn vraag gevonden.

blijkbaar moet je ook rekening houden met de tijdzone-instellingen wanneer je de epochewaarde berekent

  1. voeg 10 uur (10*60*60*1000 milliseconden) toe aan de epochewaarde - de huidige epochewaarde is in GMT, dus om het EST (GMT+10) te maken, heb ik dit toegevoegd.
  2. TO_TIMESTAMP_TZ gebruikt in plaats van 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. Beter ALTER dan DROP

  2. Toon datum zoals 30-04-2020 in plaats van 2020-04-30 uit mysql-database met javascript

  3. Krijg rij waar datetime kolom =vandaag - SQL server noob

  4. Ik kan mijn PHP-pagina niet verbinden met mijn SQL-testserver en database