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

Nhận ngày đầu tiên trong tuần từ số tuần

hãy thử cái này:

select next_day(max(d), 'sun') requested_sun
  from (select to_date('01-01-2012', 'dd-mm-yyyy') + (rownum-1) d from dual connect by level <= 366)
 where to_char(d, 'ww') = 49-1;

chỉ cần đặt năm của bạn to_date('01-01-2012' và số tuần-1 49-1 có thể áp dụng.

chủ nhật của tuần thứ 49 của năm 2008?

SQL> select next_day(max(d), 'sun') requested_sun
  2    from (select to_date('01-01-2008', 'dd-mm-yyyy') + (rownum-1) d from dual connect by level <= 366)
  3   where to_char(d, 'ww') = 49-1;

REQUESTED
---------
07-DEC-08

và 2012

SQL> select next_day(max(d), 'sun') requested_sun
  2    from (select to_date('01-01-2012', 'dd-mm-yyyy') + (rownum-1) d from dual connect by level <= 366)
  3   where to_char(d, 'ww') = 49-1;

REQUESTED
---------
02-DEC-12


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tại sao tôi nhận được ORA-01401:giá trị được chèn quá lớn cho cột - khi tôi không chèn?

  2. Các biến trong tập lệnh TOAD

  3. Làm thế nào để tạo hàm trong PL / SQL?

  4. cài đặt Oracle Instantclient trên Linux mà không cần thiết lập các biến môi trường?

  5. Làm thế nào để chọn một cột từ tất cả các bảng mà nó nằm trong đó?