sql >> Database teknologi >  >> RDS >> Oracle

Oracle sql-forespørgsel skal ændres baseret på tidszone

Fandt svaret på mit spørgsmål.

tilsyneladende skal du også overveje tidszoneindstillingerne, når du beregner epokeværdien

  1. tilføj 10 timer (10*60*60*1000 millisekunder) til epokeværdien - epokeaktuel værdi er i GMT, så for at gøre den til EST (GMT+10), tilføjede jeg dette.
  2. Brugte TO_TIMESTAMP_TZ i stedet for 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. Hvad er måden at designe en simpel lærer-fag-elev-batch relationsdatabase på?

  2. Hvad siger SQL-standarden om parenteser i SQL UNION/EXCEPT/INTERSECT-sætninger?

  3. Lagret procedure er langsom, når den kaldes fra nettet, hurtig fra Management Studio

  4. Forespørgsel efter optælling af distinkte værdier i et rullende datointerval