sql >> Databasteknik >  >> RDS >> Oracle

Hur man ändrar datumformat i Oracle-databasen

Vi behöver ofta ändra datumformatet medan vi kontrollerar. Här är några sätt som du kan använda för att ändra datumformatet i Oracle-databasen

Oracles standarddatumformat

Standarddatumformatet i Oracle styrs av värdet på parametern NLS_DATE_FORMAT.

Följande fråga kan användas för att hitta det aktuella värdet för parametern NLS_DATE_FORMAT

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

Hur man ändrar formatet för hela sessionen

Vi kan ändra parametern i sessionen och välja vilket format vi vill för Oracle-datumet. Här är sql som kan användas för att göra i sessionen

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)

Exempel

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

Vilken fråga du än kör, kommer datumkolumnen att formateras enligt ovanstående datumformat

Example
select sysdate from dual;

Hur man ändrar datumformat med funktionen to_char

Vi kanske vill ha ett annat datumformat för de olika sql-frågorna. I så fall kan du planera att använda Oracle single row function to_char funktion och kan konvertera Oracle datakolumnen till vilket format du vill

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

Hur man ändrar datumformat med to_date-funktionen

Vi kanske vill ändra strängarna till datumformat för jämförelse, för att lagra som datum i Oracle-tabellen. I det här fallet kan du använda till Oracle to_date-funktionen

 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;   

Det viktiga att notera:strängen konverteras till ett datum och datumet returneras som i standarddatumformatet i select-satsen. Om du använder to_date-funktionen för att lagra strängar som datum i datumkolumnen, så kommer det endast att lagras som datum. När nu väljs kommer kolumndatumet att visas i Oracles standarddatumformat som ställts in i sessionen.

Hur man formaterar datum för att visa dag, vecka, månader etc.

 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
 

Jag hoppas att du gillar de här enkla stegen för hur du ändrar datumformat i Oracle-databasen. Det kan finnas många exempel där detta kan användas. Jag har bara ge några enkla exempel för att demonstrera funktionaliteten

Läs även
oracle-datumfunktioner : Det här inlägget täcker oracle-datumfunktioner, oracle-datumskillnad i år, oracle-datumskillnad i dagar, oracle-datumskillnad i månader.
NULLIF-funktion i Oracle :NULLIF-funktion i Oracle jämför två värden och returnera null om värdena är samma, annars returnerar du det första värdet. Du kan inte ange den bokstavliga NULL i värden
Uppdatera uttalande i oracle:Vi använder Update-sats i oracle för att ändra de befintliga raderna i oracle-tabellen i Oracle-databas. Uppdatering kan köras på flera sätt
Koalesce-funktion i Oracle:Koalesce-funktion i Oracle returnerar det första uttrycket om det inte är null, annars kommer det att sammanfoga resten av uttrycket.
hur man gör hämta metadata för en tabell i Oracle :Kolla in hur du får tabelldefinition i Oracle, Oracle Show Index-definition, hämta ddl för materialiserad vy i Oracle, få frågan om en vy i Oracle
http://infolab.stanford .edu/~ullman/fcdb/oracle/or-time.html


  1. MYSQLi-fel:Användaren har redan fler än "max_user_connections" aktiva anslutningar

  2. Hur man inaktiverar en CHECK-begränsning i SQL Server (T-SQL-exempel)

  3. Hur man infogar en C#-lista i databasen med Dapper.NET

  4. Ställa in och konfigurera alltid-på-tillgänglighetsgrupp i SQL Server