/ / Kolumna daty Oracle pokazująca nieprawidłową wartość - sql, oracle, date, oracle11g

Kolumna danych Oracle z błędną wartością - sql, oracle, date, oracle11g

Próbuję zidentyfikować problem w colum daty w moim stole. Baza danych to Oracle 11g.

Sytuacja wygląda następująco: Po uruchomieniu następującego zapytania:

select to_char(data_val, "DD/MM/YYYY"), a.data_val from material a order by a.data_val asc;

pięć pierwszych linii wyniku to:

00/00/0000 | 29/06/5585 00:00:00 00/00/0000 | 29/06/5585 00:00:00 00/00/0000 | 29/06/5585 00:00:00 11/11/1111 | 11/11/1111 00:00:00 01/01/1500 | 01/01/1500 00:00:00

pytanie brzmi:

Dlaczego funkcja to_char pierwszych trzech wierszy zwraca inną wartość daty (00/00/0000)?

A dlaczego data 29/06/5585 jest pierwszym wynikiem zamówienia daty ASC? To będzie słuszne, używając: zamów przez data_val DESC, prawda?

Odpowiedzi:

0 dla odpowiedzi № 1

Napotkaliśmy ten sam problem. Mogę potwierdzić, że kolumna „data” jest rzeczywiście typem DATE. Data, o której mowa, to 01 maja 2014 r., Więc najprawdopodobniej nie jest związana z dużą liczbą w oryginalnym poście. A gdy wykonasz jakieś obliczenia z datą, problem jest rozwiązany, tj. wszystkie zera, TO_CHAR (punkt odniesienia + 1) byłyby zgodne z oczekiwaniami, a nawet TO_CHAR (punkt odniesienia +1 -1) byłyby poprawne.

Na podstawie wartości DUMP wydaje się, że problemjest to, że udało nam się jakoś przechowywać 31 kwietnia 2014 r., a nie 01 maja 2014 r. (teraz sprawdzam, jak to było możliwe).