boa tarde pessoal,
Eu preciso montar um SQL de entregas, e preciso que para cada registro do SQL, tenha um dia de cada de semana do ano (4 meses pra frente).
Por exemplo: Produto A - entregas - 28/01 04/02 11/02 ... etc. Ou seja, é como se eu incrementasse 7 dias da data de hoje em diante, mas preciso que seja fixo, senão eu usaria o sysdate + 7, sysdate + 14
Alguém tem alguma noção de como retornar isso?
Retornar Um dia da semana de todas as semanas
- tiago_pimenta
- Rank: DBA Júnior
- Mensagens: 210
- Registrado em: Qua, 29 Jun 2011 9:49 am
- Localização: Barretos / SP
Bom dia...
Cara, sem pensar muito e sem saber também se tem alguma função para adicionar semana (Adicionar mês eu sei que tem add_months), eu faria um loop que o contador seria a semana e esse contador multiplicaria por 7, ou seja, a primeira semana seria 1 * 7, o que daria 7 e você adicionaria esse valor na data que você quer, depois seria 2 * 7 para a segunda semana, o que daria 14 dias, e assim sucessivamente até completar 4 meses ( 4 semanas por mês * 4 meses = 16)
Cara, sem pensar muito e sem saber também se tem alguma função para adicionar semana (Adicionar mês eu sei que tem add_months), eu faria um loop que o contador seria a semana e esse contador multiplicaria por 7, ou seja, a primeira semana seria 1 * 7, o que daria 7 e você adicionaria esse valor na data que você quer, depois seria 2 * 7 para a segunda semana, o que daria 14 dias, e assim sucessivamente até completar 4 meses ( 4 semanas por mês * 4 meses = 16)
Vamos lá:
Eu preciso extrair as datas (dd/mm) de toda sexta-feira de cada semana.
Basicamente é isso. Eu gostaria de fazer isso sem ter que fazer com uma tabela de data entrega, que seria facil fazer a inclusão, não sei se tenho como fazer alguma função ou algo assim para que traga todas essas datas.
Eu preciso extrair as datas (dd/mm) de toda sexta-feira de cada semana.
Basicamente é isso. Eu gostaria de fazer isso sem ter que fazer com uma tabela de data entrega, que seria facil fazer a inclusão, não sei se tenho como fazer alguma função ou algo assim para que traga todas essas datas.
-
- Moderador
- Mensagens: 641
- Registrado em: Seg, 03 Set 2007 3:26 pm
- Localização: Fortaleza - CE
att,
Daniel N.N.
Daniel N.N.
Olá,
a seguinte consulta recebe uma data como parâmetro, para saber qual o mês inicial , então retorna 4 meses, apenas as sextas feiras:
a seguinte consulta recebe uma data como parâmetro, para saber qual o mês inicial , então retorna 4 meses, apenas as sextas feiras:
SELECT *
FROM (SELECT dia
,TO_CHAR(dia, 'iw') semana
,TO_CHAR(dia, 'd') dia_semana
,TO_CHAR(dia, 'mm') mês
FROM (SELECT data_inicial + LEVEL - 1 dia
FROM (SELECT TRUNC(to_date(&p_ini, 'dd/mm/rrrr')) data_inicial
FROM dual)
CONNECT BY LEVEL <= LAST_DAY(ADD_MONTHS(TRUNC(to_date(&p_ini, 'dd/mm/rrrr')),3 /* 3 meses para frente*/)) - TRUNC(to_date(&p_ini, 'dd/mm/rrrr')) + 1))
WHERE dia_semana = 6 /*sexta*/
order by dia
;
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Bing [Bot] e 1 visitante