2013-01-04 18 views
5

Orta Avrupa Yaz Saati Uygulaması, Mart ayının son Pazar günü başlar. Saatlerimizi 02:00 ile 03:00 arasında ayarladık. Bir veritabanı isteğinde zaman damgası hesaplamaları yaparsam ne olur?Yaz saati uygulamasıyla zaman damgası hesaplaması

UPDATE sessions SET aliveuntil = (CURRENT_TIMESTAMP + INTERVAL '1' MINUTE) WHERE id = ? 

03:00 veya sonuç olarak 02:00 olur mu?

Saatlerimizi 03:00 - 02:00 saatleri arasında ayarlarsak ne yapacağız?

SELECT id FROM sessions WHERE aliveuntil < (CURRENT_TIMESTAMP - INTERVAL '1' MINUTE) 

zaman 02:00 de (CURRENT_TIMESTAMP - INTERVAL '1' MINUTE) ile ne ... 02:00 03:00 olarak değiştirildi sonra mı? 02:59 veya 01:59 mı?

Bu nasıl ele alınmalıdır? En iyi uygulama ve Oracle Database 11g Sürüm 11.2.0.2.0 ile (özel durumumda) nasıl işleniyor?

cevap

3

Belgelerini doğru olarak anlıyorsam, tablonun/sütunların veritabanında nasıl ayarlandığına bağlıdır. Sütunlar ZAMAN ZAMANI İLE kullanılacak şekilde ayarlanmışsa, Oracle doğru/alakalı değerleri otomatik olarak belirler. Yukarıdaki örnekte, sütun aliveuntil'in bu ayarı varsa, 1: 59'da 1 dakika eklemeye çalışırsanız, saat 3: 00'a güncellenir. İşte

Ben konu üzerinde bulunan bir yardımcı madde olduğu:

http://docs.oracle.com/cd/B19306_01/server.102/b14225/ch4datetime.htm

Kaydırma yazının dibine ve size aradığınızı görmelisiniz. İşte

makalenin bir bölümü Alakalı bulunmuştu:

Örneğin, ABD, zamanın Doğu bölgesinde 3:00:00 ile 01:59:59 saatleri arasında değişiklikler Yaz Saati Uygulaması yürürlüğe girdiğinde. 02:00 ile 02:59:59 saatleri arasındaki aralık yok. Bu aralıktaki değerler geçersiz.