Oracle
 sql >> Datenbank >  >> RDS >> Oracle

So ändern Sie das Datumsformat in der Oracle-Datenbank

Bei der Überprüfung müssen wir oft das Datumsformat ändern. Hier sind einige Möglichkeiten, wie Sie das Datumsformat in der Oracle-Datenbank ändern können

Oracle Standard-Datumsformat

Das standardmäßige Datumsformat in Oracle wird durch den Wert des Parameters NLS_DATE_FORMAT gesteuert.

Die folgende Abfrage kann verwendet werden, um den aktuellen Wert des Parameters NLS_DATE_FORMAT zu finden

SELECT
  value
FROM
  V$NLS_PARAMETERS
WHERE
  parameter = 'NLS_DATE_FORMAT';

So ändern Sie das Format für die gesamte Sitzung

Wir können den Parameter in der Sitzung ändern und das gewünschte Format für das Oracle-Datum auswählen. Hier ist die SQL, die in der Sitzung verwendet werden kann

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)

Beispiel

alter session set nls_date_format = 'dd-mon-yyyy hh24:mi:ss';

Unabhängig davon, welche Abfrage Sie nun ausführen, wird die Datumsspalte gemäß dem obigen Datumsformat formatiert

Example
select sysdate from dual;

So ändern Sie das Datumsformat mit der to_char-Funktion

Möglicherweise möchten wir ein anderes Datumsformat für die verschiedenen SQL-Abfragen haben. In diesem Fall können Sie planen, die Oracle-Einzelzeilenfunktion to_char zu verwenden und die Oracle-Datenspalte in ein beliebiges Format konvertieren

Example
select to_char(sysdate, 'dd-mon-yyyy hh24:mi:ss')  from dual; 
select to_char(sysdate, 'dd-mon-yyyy')  from dual;  

So ändern Sie das Datumsformat mit der to_date-Funktion

Möglicherweise möchten wir die Zeichenfolgen zum Vergleich in das Datumsformat ändern, um sie als Datum in der Oracle-Tabelle zu speichern. In diesem Fall können Sie die to_date-Funktion von Oracle verwenden

 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;   

Wichtig zu beachten:Der String wird in ein Datum umgewandelt und das Datum wird im Standard-Datumsformat in der Select-Anweisung zurückgegeben. Wenn Sie die to_date-Funktion zum Speichern von Zeichenfolgen als Datum in der Datumsspalte verwenden, wird dies nur als Datum gespeichert. Wenn Sie nun diese Spalte auswählen, wird das Datum im Oracle-Standarddatumsformat angezeigt, das in der Sitzung festgelegt wurde.

So formatieren Sie das Datum, um Tag, Woche, Monate usw. anzuzeigen

 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
 

Ich hoffe, Ihnen gefallen diese einfachen Schritte zum Ändern des Datumsformats in der Oracle-Datenbank. Es kann viele Beispiele geben, wo dies verwendet werden kann. Ich habe nur ein paar einfache Beispiele gegeben, um die Funktionalität zu demonstrieren

Auch lesen
Orakel-Datumsfunktionen: Dieser Beitrag behandelt Orakel-Datumsfunktionen, Orakel-Datumsunterschied in Jahren, Orakel-Datumsunterschied in Tagen, Orakel-Datumsunterschied in Monaten.
NULLIF-Funktion in Oracle:NULLIF-Funktion in Oracle vergleicht zwei Werte und Null zurückgeben, wenn die Werte gleich sind, andernfalls den ersten Wert zurückgeben. Sie können den wörtlichen NULL-Wert nicht in Werten angeben oracle database.Update kann auf mehrere Arten ausgeführt werden
Coalesce-Funktion in Oracle :Die Coalesce-Funktion in Oracle gibt den ersten Ausdruck zurück, wenn er nicht null ist, andernfalls wird der Rest des Ausdrucks zusammengeführt.
How to Metadaten einer Tabelle in Oracle abrufen :Sehen Sie sich an, wie Sie Tabellendefinitionen in Oracle abrufen, Indexdefinitionen in Oracle anzeigen, ddl einer materialisierten Ansicht in Oracle abrufen, Abfrage einer Ansicht in Oracle abrufen
http://infolab.stanford .edu/~ullman/fcdb/oracle/or-time.html