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