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

Bagaimana cara menghasilkan semua tanggal hari Minggu antara 2 tanggal di Oracle sql?

Begini caranya; CTE (dates ) membuat "kalender" untuk semua tanggal mulai dari 2018-10-01 , untuk jumlah hari antara 2018-10-01 dan 2018-12-31 . Ini menjawab pertanyaan kedua Anda.

Untuk pertanyaan pertama, gunakan TO_CHAR berfungsi dengan topeng format yang sesuai (dy ) dan bahasa tanggal (karena, jika saya tidak menggunakannya, Anda akan mendapatkan nama Kroasia sebagai bahasa default saya), pilih semua hari Minggu.

SQL> with dates as
  2    (select date '2018-10-01' + level - 1 datum
  3     from dual
  4     connect by level <= date '2018-12-31' - date '2018-10-01' + 1
  5    )
  6  select datum
  7  From dates
  8  where to_char(datum, 'dy', 'nls_date_language = english') = 'sun';

DATUM
-----------
07-oct-2018
14-oct-2018
21-oct-2018
28-oct-2018
04-nov-2018
11-nov-2018
18-nov-2018
25-nov-2018
02-dec-2018
09-dec-2018
16-dec-2018
23-dec-2018
30-dec-2018

13 rows selected.

SQL>


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Melewati daftar yang ditentukan pengguna dari hibernasi ke prosedur tersimpan Oracle

  2. Bagaimana cara memasukkan file jar ke Java Stored Procedure di Oracle?

  3. Bagaimana saya bisa melihat rencana eksekusi SQL di Oracle?

  4. Bagaimana saya bisa mengembalikan beberapa baris identik berdasarkan bidang kuantitas di baris itu sendiri?

  5. Nilai terkecil tetapi tidak NULL di Oracle SQL