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

2 Cara Mendapatkan Hari dari Kencan di Oracle

Di bawah ini adalah dua fungsi yang dapat digunakan untuk mengembalikan hari dari tanggal di Oracle Database.

EXTRACT() Fungsi

EXTRACT(datetime) fungsi digunakan untuk mengekstrak berbagai bagian datetime dari nilai datetime. Ini termasuk hari.

Ini contohnya:

SELECT EXTRACT(DAY FROM DATE '2037-10-25')
FROM DUAL;

Hasil:

25

Ini adalah DAY kata kunci yang mengekstrak bagian hari dari tanggal. Kita bisa mendapatkan bagian tanggal lainnya dengan mengubahnya menjadi kata kunci yang relevan. Misalnya, YEAR , MONTH , HOUR , MINUTE , dll.

Kita juga dapat menggunakan fungsi tersebut dengan nilai datetime lainnya, seperti TIMESTAMP , dll.

TO_CHAR(datetime) Fungsi

Kita juga dapat menggunakan the TO_CHAR(datetime) berfungsi sebagai metode alternatif untuk mendapatkan hari dari tanggal.

Fungsi ini menerima nilai datetime atau interval sebagai argumen pertama, dan model format sebagai argumen kedua. Fungsi kemudian mengonversi nilai menjadi tipe data VARCHAR2 dalam format yang ditentukan.

Model format menentukan format untuk mengembalikan nilai datetime/interval. Model format terdiri dari satu atau lebih elemen format. Hal ini memungkinkan kami untuk dengan hati-hati menyusun hasil untuk mencerminkan format yang kami inginkan.

Jika kita hanya ingin mengembalikan hari, kita dapat menggunakan salah satu elemen format untuk mengekstrak hari.

Hari dalam Bulan

Untuk mendapatkan hari dalam sebulan (antara 1-31), gunakan DD elemen format:

SELECT TO_CHAR(DATE '2037-10-03', 'DD')
FROM DUAL;

Hasil:

03

Nama Lengkap Hari

Untuk mendapatkan nama hari penuh, gunakan DAY :

SELECT TO_CHAR(DATE '2037-10-03', 'DAY')
FROM DUAL;

Hasil:

SATURDAY

Nama Hari Singkat

Untuk mendapatkan nama hari yang disingkat, gunakan DY :

SELECT TO_CHAR(DATE '2037-10-03', 'DY')
FROM DUAL;

Hasil:

SAT

Hari dalam setahun

Untuk mendapatkan hari dalam setahun (antara 1-366), gunakan DDD elemen format:

SELECT TO_CHAR(DATE '2037-10-03', 'DDD')
FROM DUAL;

Hasil:

276

Hari dalam Seminggu

Untuk mendapatkan hari dalam seminggu (antara 1-7), gunakan D elemen format:

SELECT TO_CHAR(DATE '2037-10-03', 'D')
FROM DUAL;

Hasil:

6

Elemen format ini bergantung pada wilayah NLS sesi. Nilai NLS_TERRITORY sistem saya parameternya adalah AUSTRALIA , dan oleh karena itu, hari Sabtu dianggap sebagai hari keenam dalam seminggu.

Inilah yang terjadi jika saya mengubah nilai NLS_TERRITORY saya parameter ke AMERICA dan jalankan kueri yang sama lagi:

ALTER SESSION SET NLS_TERRITORY = 'AMERICA';
SELECT TO_CHAR(DATE '2037-10-03', 'D')
FROM DUAL;

Hasil:

7

Kali ini Sabtu dianggap sebagai hari ketujuh dalam seminggu.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kolom Pengisi Otomatis 12c dengan Nilai Urutan

  2. Kumpulkan Massal Ke dan Jalankan Segera di Oracle

  3. Apa dan kapan saya harus menentukan setFetchSize()?

  4. REGEXP_SUBSTR() Fungsi di Oracle

  5. Memisahkan string yang dipisahkan koma dalam proses tersimpan PL/SQL