Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Bagaimana mengubah format tanggal di database oracle

Kita sering perlu mengubah format tanggal saat memeriksa. Berikut adalah beberapa cara yang dapat Anda gunakan untuk mengubah format tanggal di database Oracle

Format Tanggal Default Oracle

Format tanggal default di oracle dikendalikan oleh nilai parameter NLS_DATE_FORMAT.

Kueri berikut dapat digunakan untuk menemukan nilai parameter NLS_DATE_FORMAT saat ini

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

Cara mengubah format seluruh sesi

Kami dapat mengubah parameter dalam sesi dan memilih format apa pun yang kami inginkan untuk tanggal Oracle. Berikut adalah sql yang dapat digunakan untuk melakukan sesi

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)

Contoh

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

Sekarang kueri apa pun yang akan Anda jalankan, kolom tanggal akan diformat sesuai format tanggal di atas

Example
select sysdate from dual;

Cara mengubah format tanggal menggunakan fungsi to_char

Kami mungkin ingin memiliki format tanggal yang berbeda untuk kueri sql yang berbeda. Dalam hal ini, Anda dapat merencanakan untuk menggunakan fungsi baris tunggal Oracle fungsi to_char dan dapat mengonversi kolom data Oracle ke format apa pun yang Anda inginkan

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

Bagaimana mengubah format tanggal menggunakan fungsi to_date

Kami mungkin ingin mengubah string menjadi format tanggal untuk perbandingan, untuk disimpan sebagai tanggal di tabel Oracle. Dalam hal ini, Anda dapat menggunakan fungsi to_date Oracle

 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;   

Hal penting yang perlu diperhatikan:string diubah menjadi tanggal dan tanggal dikembalikan seperti dalam format tanggal default dalam pernyataan pilih. Jika Anda menggunakan fungsi to_date untuk menyimpan string sebagai tanggal di kolom tanggal, maka itu akan disimpan sebagai tanggal saja. Sekarang ketika memilih tanggal kolom itu akan ditampilkan dalam format tanggal default oracle yang diatur dalam sesi.

Cara memformat tanggal untuk menampilkan hari, minggu, bulan, dll

 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
 

Saya harap Anda menyukai langkah-langkah sederhana ini tentang cara mengubah format tanggal di database Oracle. Ada banyak contoh di mana ini dapat digunakan. Saya baru saja memberikan beberapa contoh sederhana untuk mendemonstrasikan fungsinya

Baca Juga
fungsi tanggal Oracle :Postingan ini mencakup fungsi tanggal Oracle, perbedaan tanggal Oracle dalam tahun, perbedaan tanggal Oracle dalam hari, perbedaan tanggal Oracle dalam bulan.
Fungsi NULLIF di Oracle :Fungsi NULLIF di Oracle membandingkan dua nilai dan kembalikan null jika nilainya sama, jika tidak kembalikan nilai pertama. Anda tidak dapat menentukan NULL literal dalam nilai
Perbarui pernyataan di oracle :Kami menggunakan pernyataan Perbarui di oracle untuk mengubah baris yang ada di tabel oracle di database oracle. Pembaruan dapat dijalankan dengan berbagai cara
Fungsi Penggabungan di Oracle :Fungsi penggabungan di oracle akan mengembalikan ekspresi pertama jika bukan nol, selain itu ia akan menggabungkan sisa ekspresi.
bagaimana caranya dapatkan metadata tabel di oracle :Lihat cara mendapatkan definisi tabel di oracle, definisi indeks show oracle, dapatkan ddl tampilan terwujud di oracle, dapatkan kueri tampilan di oracle
http://infolab.stanford .edu/~ullman/fcdb/Oracle/or-time.html


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. TO_YMINTERVAL() Fungsi di Oracle

  2. Tidak ada lagi data untuk dibaca dari soket

  3. Mengapa Oracle 9i memperlakukan string kosong sebagai NULL?

  4. Apa arti tanda (+) dalam klausa Oracle SQL WHERE?

  5. Kueri rekursif SQL pada tabel referensi mandiri (Oracle)