sql >> Database >  >> RDS >> Oracle

Hoe de datumnotatie in de Oracle-database te wijzigen

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


  1. Invoegen indien niet bestaat Oracle

  2. MySQL LIMIT-clausule equivalent voor SQL SERVER

  3. SQL2008 RDL-bestand converteren naar SQL2005

  4. SSMS 2016-fout bij het importeren van Azure SQL v12 bacpac:hoofdsleutels zonder wachtwoord niet ondersteund