Próbuję odjąć datę od Oracle, aby wpłynąć nawet na dzień. Na przykład, jeśli znacznik czasu to 01/czerwiec/2015 00 godzin i jeśli odejmę 2 godziny, chcę móc przejść do 31/maja/2014 22 godzin.Jak odjąć godziny od daty w Oracle, aby miało to wpływ również na dzień
Próbowałem
to_char(sysdate-(2/11), 'MM-DD-YYYY HH24')
ale tylko odejmuje godzinę; nie dotyka samego dnia.
Co sprawia, że myślisz "- (2/11)" odejmuje 2 godziny? To nie jest oczywisty zapis. Wygląda na to, że może odjąć '0.22' jednostek jakiegoś rodzaju - oceniam, czy to są dni, sekundy, czy jakaś inna jednostka. –
@ JonathanLeffler: w Oracle wyrażenie 'date_value - integer' zawsze oznacza' date_value - number of days'. Wartości ułamkowe są interpretowane jako godziny. Jednak 2/11 jest dość zaciemnionym sposobem na określenie oczekiwanej wartości. Osobiście zawsze używam literałów przedziałów ANSI dla czegoś takiego: 'sysdate - interval '2' hour' –
@a_horse_with_no_name: Dzięki - to ma sens. Podstawową jednostką Oracle DATE są dni, a czas to ułamki dnia. Moja pamięć jest zepsuta; 2/11 = 0.1818181818 ... i 2/9 = 0.2222222222 ... Nadal nie wydaje się, że 2/11 jest sposobem na określenie nawet 2 godzin (jest to nieco ponad 4 godziny). –