Często musimy zmienić format daty podczas sprawdzania. Oto kilka sposobów, których możesz użyć do zmiany formatu daty w bazie danych Oracle
Domyślny format daty Oracle
Domyślny format daty w Oracle jest kontrolowany przez wartość parametru NLS_DATE_FORMAT.
Poniższego zapytania można użyć do znalezienia bieżącej wartości parametru NLS_DATE_FORMAT
SELECT value FROM V$NLS_PARAMETERS WHERE parameter = 'NLS_DATE_FORMAT';
Jak zmienić format całej sesji
Możemy zmienić parametr w sesji i wybrać dowolny format daty Oracle. Oto sql, którego można użyć podczas sesji
ALTER SESSION SET NLS_DATE_FORMAT = '[date_format]'; MM Numeric month (e.g., 07) MON Abbreviated month name (e.g., JUL) MONTH Full month name (e.g., JULY) DD Day of month (e.g., 24) DY Abbreviated name of day (e.g., FRI) YYYY 4-digit year (e.g., 1998) YY Last 2 digits of the year (e.g., 98) RR Like YY, but the two digits are ``rounded'' to a year in the range 1950 to 2049. Thus, 06 is considered 2006 instead of 1906 AM (or PM) Meridian indicator HH Hour of day (1-12) HH24 Hour of day (0-23) MI Minute (0-59) SS Second (0-59)
Przykład
alter session set nls_date_format = 'dd-mon-yyyy hh24:mi:ss';
Teraz niezależnie od zapytania, które wykonasz, kolumna daty zostanie sformatowana zgodnie z powyższym formatem daty
Example select sysdate from dual;
Jak zmienić format daty za pomocą funkcji to_char
Możemy chcieć mieć inny format daty dla różnych zapytań sql. W takim przypadku możesz zaplanować użycie funkcji jednowierszowej Oracle to_char i przekonwertować kolumnę danych Oracle na dowolny format
Example select to_char(sysdate, 'dd-mon-yyyy hh24:mi:ss') from dual; select to_char(sysdate, 'dd-mon-yyyy') from dual;
Jak zmienić format daty za pomocą funkcji to_date
Możemy chcieć zmienić ciągi na format daty w celu porównania, do przechowywania jako daty w tabeli Oracle. W takim przypadku możesz użyć funkcji Oracle to_date
Example select to_date('11-JAN-2019 13:12:12', 'dd-mon-yyyy hh24:mi:ss') from dual; select to_date( '11-JAN-2019', 'dd-mon-yyyy') from dual;
Ważna rzecz do zapamiętania:ciąg jest konwertowany na datę, a data jest zwracana w domyślnym formacie daty w instrukcji SELECT. Jeśli używasz funkcji to_date do przechowywania ciągów jako daty w kolumnie daty, to będzie ona przechowywana tylko jako data. Teraz po wybraniu tej kolumny data będzie wyświetlana w domyślnym formacie daty Oracle ustawionym w sesji.
Jak sformatować datę, aby wyświetlić dzień, tydzień, miesiące itp.
Day of Week SQL> select to_char(sysdate,'D') col from dual; col ---- 2 Name of WeekDay SQL> select to_char(sysdate,'DAY') col from dual; col --- MONDAY Abbreviated name of day SQL> select to_char(sysdate,'DY') from dual; col ---- MON Day of Month SQL> select to_char(sysdate,'DD') from dual; col ---- 30 Abbreviated name of month SQL> select to_char(sysdate,'MON') from dual; col ---- NOV Name of Month SQL> select to_char(sysdate,'MONTH') from dual; col ----- NOVEMBER Day of Year SQL> select to_char(sysdate,'DDD') from dual; col ---- 334 Week of the year SQL> select to_char(sysdate,'IW') from dual; col ---- 05 Week of Month SQL> select to_char(sysdate,'W') from dual; col ----- 5 Month in Numbers SQL> select to_char(sysdate,'MM') from dual; col ---- 11 Year in Numbers SQL> select to_char(sysdate,'YYYY') from dual; col ---- 2019 Year in words SQL> select to_char(sysdate,'YEAR') from dual; col --- TWENTY NINE Hour in 0-12 format SQL> select to_char(sysdate,'HH') from dual' col ---- 08 Hour in 0-24 format SQL> select to_char(sysdate,'HH24') from dual; col --- 12 Minutes SQL> select to_char(sysdate,'MI') from dual; col ---- 45 Seconds SQL> select to_char(sysdate,'SS') from dual; col ---- 45
Mam nadzieję, że spodobały Ci się te proste kroki, jak zmienić format daty w bazie danych Oracle. Może być wiele przykładów, w których można to wykorzystać. Podałem tylko kilka prostych przykładów, aby zademonstrować funkcjonalność
Czytaj także
funkcje dat Oracle : Ten post obejmuje funkcje daty Oracle, różnicę dat Oracle w latach, różnicę dat Oracle w dniach, różnicę dat Oracle w miesiącach.
Funkcja NULLIF w Oracle :NULLIF funkcja w Oracle porównuje dwie wartości i zwróć null, jeśli wartości są takie same, w przeciwnym razie zwróć pierwszą wartość.Nie możesz określić dosłownej wartości NULL w wartościach
Instrukcja Update w oracle :Używamy instrukcji Update w oracle, aby zmodyfikować istniejące wiersze w tabeli Oracle w Oracle database.Update można wykonać na wiele sposobów
Funkcja łączenia w Oracle :funkcja łączenia w Oracle zwróci pierwsze wyrażenie, jeśli nie jest ono puste, w przeciwnym razie połączy resztę wyrażenia.
Jak to zrobić pobierz metadane tabeli w oracle :Sprawdź, jak uzyskać definicję tabeli w oracle, definicję indeksu pokazu oracle, pobierz ddl widoku zmaterializowanego w oracle, uzyskaj zapytanie o widok w oracle
http://infolab.stanford .edu/~ullman/fcdb/oracle/or-time.html