Oracle
 sql >> Base de données >  >> RDS >> Oracle

Dans Oracle, comment puis-je détecter la date à laquelle l'heure d'été commence/se termine ?

Pour améliorer la réponse de Leigh Riffel, c'est beaucoup plus simple avec la même logique :

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;