Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Wie kann ich in Oracle das Datum erkennen, an dem die Sommerzeit beginnt / endet?

Um die Antwort von Leigh Riffel zu verbessern, ist dies mit derselben Logik viel einfacher:

Function DaylightSavingTimeStart (p_Date IN Date)
Return Date Is
Begin
   Return NEXT_DAY(TO_DATE(to_char(p_Date,'YYYY') || '/03/01 02:00 AM', 'YYYY/MM/DD HH:MI AM') - 1, 'SUN') + 7;
End;

Function DaylightSavingTimeEnd (p_Date IN Date)
Return Date Is
Begin
   Return NEXT_DAY(TO_DATE(to_char(p_Date,'YYYY') || '/11/01 02:00 AM', 'YYYY/MM/DD HH:MI AM') - 1, 'SUN');
End;