Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Leandro Vicensotto

[Resolvido] Semana do ano

Recommended Posts

Boa tarde.

 

Sou novo no Oracle, e estou com a seguinte dúvida:

 

Até o final de 2012, usava em algumas consultas a seguinte query:

select to_char(to_date('09/01/2012'),'WW') from dual

09/01/2012 é uma segunda feira, e essa query me retornava o valor "2"(segunda semana de 2012).

 

Hoje utilizando a mesma query mas com a data 07/01/2013, me retorna o valor "1", sendo que 07/01 está na segunda semana.

 

Pelo que entendi, como o ano começou na terça, ele entende que a semana sempre comece na terça.

Fiz vários programas utilizando essa função, e não gostaria de sair refazendo todos eles, existe alguma forma de obrigar o Oracle a começar a semana no domingo ?

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

De fato ...

 

IW WEEK OF YEAR (1-52 OR 1-53) BASED ON THE ISO STANDARD.

WW Week of year (1-53) where week 1 starts on the first day of the year and continues to the seventh day of the year.

W Week of month (1-5) where week 1 starts on the first day of the month and ends on the seventh.

Fonte Oracle

 

 

Padrão na segunda-feira, teste aí

 

SELECT DATAX,to_char(datax,'day') dia,TO_CHAR(DATAX,'ww') SEMANA_ANO,TO_CHAR(DATAX,'iw') SEMANA_iso,TO_CHAR(DATAX,'w') semana_mes
FROM
(
SELECT (TO_DATE('01/01/2013','dd/mm/yyyy') + ROWNUM  - 1) DATAX
FROM user_tables
WHERE ROWNUM < 365
)  

 

VI ISTO NO ASKTOM

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.