Chciałbym, żeby wyświetliło: 05.06.2011 11:10
Wpisuję tak: select to_date('05.06.2011 11:10', 'DD.MM.YYYY HH:MI') from dual;
to mi się wyświetla tylko datę: 11.06.05 w innym formacie, a czasu nie ma.
Dlaczego? Źle napisałem?
Chciałbym, żeby wyświetliło: 05.06.2011 11:10
Wpisuję tak: select to_date('05.06.2011 11:10', 'DD.MM.YYYY HH:MI') from dual;
to mi się wyświetla tylko datę: 11.06.05 w innym formacie, a czasu nie ma.
Dlaczego? Źle napisałem?
to_date służy do konwersji stringa do daty. Konwertujesz "05.06.2011 11:10", a potem wyświetlasz (w domyślnym formacie) tę datę. Nie do końca rozumiem, co chcesz zrobić - skoro masz już ten string, to go po prostu wypisz: select '05.06.2011 11:10' from dual. Natomiast do formatowania daty służy funkcja to_char.
Chodzi o to, że mam dodać do tabeli nowy wiersz: godzinę. Problem w tym, że wyświetla tylko datę.
insert into film (godz_roz, godz_zak) VALUES (to_date('10:30', 'HH:MI'), to_date('11:00', 'HH:MI'));
Aby dodać godzinę, właśnie służy do tego funkcja to_date. Zamiast wyświetlania godziny, wyświetla datę, której nie napisałem. To dlaczego tak się dzieje?
Jeśli dodam datę oraz godzinę, to i tak wyświetli datę. A co z godziną? W internecie jest wiele przykładów, że umieszcza się w funkcji to_date - datę i godzinę.
Możesz zapisać tylko czas, ale pole musi być varchar2, nie date. Jeżeli będzie date, wtedy zapiszesz zawsze z datą, ale możesz wyciągać czas za pomocą extract.