We moeten vaak het datumformaat wijzigen tijdens het controleren. Hier zijn enkele manieren die u kunt gebruiken om het datumformaat in de Oracle-database te wijzigen
Standaard datumnotatie Oracle
Het standaard datumformaat in orakel wordt bepaald door de waarde van de parameter NLS_DATE_FORMAT.
De volgende query kan worden gebruikt om de huidige waarde van de parameter NLS_DATE_FORMAT te vinden
SELECT value FROM V$NLS_PARAMETERS WHERE parameter = 'NLS_DATE_FORMAT';
Het formaat voor de hele sessie wijzigen
We kunnen de parameter in de sessie wijzigen en het formaat kiezen dat we willen voor de Oracle-datum. Hier is de sql die kan worden gebruikt om in de sessie te doen
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)
Voorbeeld
alter session set nls_date_format = 'dd-mon-yyyy hh24:mi:ss';
Welke query u nu ook uitvoert, de datumkolom wordt opgemaakt volgens de bovenstaande datumnotatie
Example select sysdate from dual;
Hoe de datumnotatie te wijzigen met de functie to_char
Mogelijk willen we een ander datumformaat hebben voor de verschillende SQL-query's. In dat geval kunt u de Oracle-functie met één rij to_char-functie gebruiken en de Oracle-gegevenskolom converteren naar elk gewenst formaat
Example select to_char(sysdate, 'dd-mon-yyyy hh24:mi:ss') from dual; select to_char(sysdate, 'dd-mon-yyyy') from dual;
Het datumformaat wijzigen met de functie to_date
Misschien willen we de strings ter vergelijking in datumnotatie veranderen, om ze op te slaan als de datum in de Oracle-tabel. In dit geval kunt u de functie Oracle to_date gebruiken
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;
Het belangrijkste om op te merken:de string wordt geconverteerd naar een datum en de datum wordt geretourneerd zoals in de standaard datumnotatie in de select-instructie. Als u de functie to_date gebruikt voor het opslaan van strings als de datum in de datumkolom, dan wordt dat alleen als datum opgeslagen. Wanneer u nu selecteert, wordt de kolomdatum weergegeven in het orakel standaard datumformaat dat in de sessie is ingesteld.
Hoe de datum op te maken om dag, week, maanden enz. weer te geven
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
Ik hoop dat je deze eenvoudige stappen leuk vindt om het datumformaat in de Oracle-database te wijzigen. Er zijn veel voorbeelden te bedenken waar dit kan worden gebruikt. Ik heb slechts enkele eenvoudige voorbeelden gegeven om de functionaliteit te demonstreren
Lees ook
orakeldatumfuncties:dit bericht behandelt orakeldatumfuncties, orakeldatumverschil in jaren, orakeldatumverschil in dagen, orakeldatumverschil in maanden.
NULLIF-functie in Oracle:NULLIF-functie in Oracle vergelijk twee waarden en retourneer null als de waarden hetzelfde zijn, retourneer anders de eerste waarde. U kunt de letterlijke NULL niet opgeven in waarden
Update-instructie in Oracle:We gebruiken Update-instructie in Oracle om de bestaande rijen in de Oracle-tabel in de Oracle-database.Update kan op meerdere manieren worden uitgevoerd
Coalesce-functie in Oracle:Coalesce-functie in Oracle retourneert de eerste expressie als deze niet null is, anders zal het de rest van de expressie samenvoegen.
hoe te doen krijg metadata van een tabel in oracle:bekijk hoe je een tabeldefinitie in oracle kunt krijgen, oracle show indexdefinitie, krijg ddl van gematerialiseerde weergave in oracle, krijg de query van een weergave in oracle
http://infolab.stanford .edu/~ullman/fcdb/oracle/or-time.html