Oracle
 sql >> база данни >  >> RDS >> Oracle

Вземете първия ден от седмицата от номера на седмицата

опитайте това:

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;

просто задайте годината си to_date('01-01-2012' и седмица номер-1 49-1 както е приложимо.

неделята на 49-ата седмица на 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

и 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. Регистрирайте изхода на DBMS_OUTPUT.Put_Line в таблица в Oracle с DBMS_OUTPUT.Get_Lines

  2. COUNT(rowid) по-бърз ли е от COUNT(*)?

  3. Oracle задейства това ограничение за проверка на месечна база

  4. cx_Oracle и обработка на изключения – добри практики?

  5. Групирайте Oracle само по ЕДНА колона