Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Làm cách nào để tạo tất cả các ngày Chủ nhật giữa 2 ngày trong oracle sql?

Đây là cách; CTE (dates ) tạo "lịch" của tất cả các ngày bắt đầu từ 2018-10-01 , cho số ngày từ 2018-10-012018-12-31 . Điều này trả lời câu hỏi thứ hai của bạn.

Đối với câu hỏi đầu tiên, sử dụng TO_CHAR chức năng với mặt nạ định dạng thích hợp (dy ) và ngôn ngữ ngày tháng (bởi vì, nếu tôi không sử dụng nó, bạn sẽ lấy tên tiếng Croatia làm ngôn ngữ mặc định của tôi), hãy chọn tất cả các ngày Chủ nhật.

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. Oracle Forms 6i gặp sự cố với 0xC0000005 khi bắt đầu cài đặt bản vá 19

  2. Chia sẻ kết nối cơ sở dữ liệu Oracle giữa các tác vụ Celery đồng thời

  3. Xây dựng một truy vấn động trong C # (SQL Injection Attack)

  4. Xác định xem ngày Oracle có vào cuối tuần không?

  5. Chuyển đổi Varchar2 sang mảng Char trong Oracle