Konwersja daty na RRRR-MM-DD

0

Dzień dobry,
tworzę widok na podstawie tabeli i problem wygląda tak: mam w tabeli datę w formacie rr/mm/dd jako varchar2 a zależy mi żeby było to w formacie RRRR-MM-DD. Ktoś wie może w jaki sposób to zrobić? Mega prośba o pomoc :)!

0

Jaka baza?

0

@UglyMan: Oracle, v.11

2
SELECT TO_CHAR(TO_DATE(<twoja data>,'YY/MM/DD'), 'YYYY-MM-DD') FROM EmpTable;
0

@UglyMan: Działa mistrzu, dzięki wielkie za pomoc :)

0

Jeszcze jedno pytanie w tym wątku: korzystając z tego polecenia @UglyMan zrobiłem, ale jeśli potem chciałbym przeprowadzić operację na tym jak na dacie to nie da rady, bo to funkcja tekstowa. Da się w Oracle z tego zrobić format daty w postaci 'RRRR-MM-DD', tak żeby potem wyodrębnić z tego np. rok, kwartał itp? Dzięki wielkie wszystkim z góry

0

Chyba mylisz wartość z formatem zapisu. Format to tylko sposób zapisu. Jak chcesz z daty wyodrębniać rok miesiąc itp to przekształć na typ data (TO_DATE) i poszukaj funkcji w dokumentacji do tego.

0

@UglyMan: No właśnie już tak próbowałem, tylko jak przekształcam funkcją 'TO_DATE' to zawsze jest w postaci YYYY/MM/DD a tego chcę uniknąć

3

Mylisz daną od jej reprezentacji. Data samą w sobie jest daną (rok, miesiąc i dzień) i to jak zostanie wyświetlona pewnie zależy od tego, jak jest ustawiony system albo system operacyjny. String 'YYYY-MM-DD' jest już reprezentacją tej danej

EXTRACT(month FROM order_date) "Month",
SELECT TO_CHAR(TO_DATE(<twoja data>,'YY/MM/DD'), 'YYYY-MM-DD'),  EXTRACT(month FROM TO_DATE(<twoja data>,'YY/MM/DD')) "Month",
 FROM EmpTable

1 użytkowników online, w tym zalogowanych: 0, gości: 1