Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Jak zmienić format daty w bazie danych Oracle

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak przekonwertować liczbę dziesiętną na szesnastkową za pomocą TO_CHAR() w Oracle

  2. Jak wywołać procedurę składowaną w pakiecie Oracle za pomocą Entity Framework?

  3. Oracle:zapytanie SQL, aby znaleźć wszystkie wyzwalacze należące do tabel?

  4. Jak znaleźć LEFT OUTER JOIN lub RIGHT OUTER JOIN z ORACLE JOIN (+)

  5. Oracle:DDL i cofanie transakcji