[pgbr-geral] consulta SQL que devolva uma lista com todos os dias de um determinado mês
Ola a toda a lista, É possível criar uma consulta SQL que devolva uma lista com todos os dias de um determinado mês? De momento apenas consegui chegar até aqui, tendo como exemplo o mês de Fevereiro de 2011: SELECT to_date('2011/02', '/MM'), (date_trunc('MONTH', to_date('2011/02', '/MM')) + INTERVAL '1 MONTH - 1 day')::date; O resultado da anterior consulta é o primeiro e ultimo dia do mês: 2011-02-01;2011-02-28 Resultado pretendido é o seguinte: 2011-02-01 2011-02-02 2011-02-03 (...) 2011-02-26 2011-02-27 2011-02-28 Obrigado, Eloi Ribeiro GIS Analyst 39,45º -4,40º http://eloiribeiro.wordpress.com ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] consulta SQL que devolva uma lista com todos os dias de um determinado mês
Em 14 de março de 2011 07:13, Eloi Ribeiro eloi.ribe...@gmail.com escreveu: Ola a toda a lista, É possível criar uma consulta SQL que devolva uma lista com todos os dias de um determinado mês? De momento apenas consegui chegar até aqui, tendo como exemplo o mês de Fevereiro de 2011: SELECT to_date('2011/02', '/MM'), (date_trunc('MONTH', to_date('2011/02', '/MM')) + INTERVAL '1 MONTH - 1 day')::date; O resultado da anterior consulta é o primeiro e ultimo dia do mês: 2011-02-01;2011-02-28 Resultado pretendido é o seguinte: 2011-02-01 2011-02-02 2011-02-03 (...) 2011-02-26 2011-02-27 2011-02-28 Obrigado, Eloi Ribeiro GIS Analyst 39,45º -4,40º O jeito mais fácil seria utilizar a função generate_series, como no exemplo em http://www.postgresql.org/docs/9.0/static/functions-srf.html Você pode colocar uma cláusula WHERE no final para filtrar as datas nos meses com menos de 31 dias. -- Atenciosamente, Fábio Telles Rodriguez blog: http://www.midstorm.org/~telles/ e-mail / gtalk / MSN: fabio.tel...@gmail.com Skype: fabio_telles ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] consulta SQL que devolva uma lista com todos os dias de um determinado mês
Em 14 de março de 2011 07:13, Eloi Ribeiro eloi.ribe...@gmail.comescreveu: Ola a toda a lista, É possível criar uma consulta SQL que devolva uma lista com todos os dias de um determinado mês? De momento apenas consegui chegar até aqui, tendo como exemplo o mês de Fevereiro de 2011: SELECT to_date('2011/02', '/MM'), (date_trunc('MONTH', to_date('2011/02', '/MM')) + INTERVAL '1 MONTH - 1 day')::date; O resultado da anterior consulta é o primeiro e ultimo dia do mês: 2011-02-01;2011-02-28 Resultado pretendido é o seguinte: 2011-02-01 2011-02-02 2011-02-03 (...) 2011-02-26 2011-02-27 2011-02-28 Veja se isso resolve: select '2011-02-01'::date + dia from generate_series(0, extract( day from (('2011-02-01'::date + '1 month'::interval)::date - 1::integer))::integer - 1) as dia; Cordialmente, -- Fabrízio de Royes Mello Blog sobre TI: http://fabriziomello.blogspot.com Perfil Linkedin: http://br.linkedin.com/in/fabriziomello ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] consulta SQL que devolva uma lista com todos os dias de um determinado mês
2011/3/14 Fabrízio de Royes Mello fabriziome...@gmail.com Em 14 de março de 2011 07:13, Eloi Ribeiro eloi.ribe...@gmail.comescreveu: Ola a toda a lista, É possível criar uma consulta SQL que devolva uma lista com todos os dias de um determinado mês? De momento apenas consegui chegar até aqui, tendo como exemplo o mês de Fevereiro de 2011: SELECT to_date('2011/02', '/MM'), (date_trunc('MONTH', to_date('2011/02', '/MM')) + INTERVAL '1 MONTH - 1 day')::date; O resultado da anterior consulta é o primeiro e ultimo dia do mês: 2011-02-01;2011-02-28 Resultado pretendido é o seguinte: 2011-02-01 2011-02-02 2011-02-03 (...) 2011-02-26 2011-02-27 2011-02-28 Veja se isso resolve: select '2011-02-01'::date + dia from generate_series(0, extract( day from (('2011-02-01'::date + '1 month'::interval)::date - 1::integer))::integer - 1) as dia; Cordialmente, -- Fabrízio de Royes Mello Blog sobre TI: http://fabriziomello.blogspot.com Perfil Linkedin: http://br.linkedin.com/in/fabriziomello Muito obrigado Fabrízio, solucionado! Eloi Ribeiro GIS Analyst 39,45º -4,40º http://eloiribeiro.wordpress.com ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] consulta SQL que devolva uma lista com todos os dias de um determinado mês
Eloi, eu tenho me virado com essa: select dt from( SELECT CAST('2011-03-01' As date) + CAST((i || ' days') As interval) As dt FROM generate_series(0,1000,1) As i WHERE CAST('2011-03-01' As date) + CAST((i || ' days') As interval) between CAST('2011-03-01' As date) and CAST('2011-03-31' As date) ) v3 Em 14 de março de 2011 07:13, Eloi Ribeiro eloi.ribe...@gmail.com escreveu: Ola a toda a lista, É possível criar uma consulta SQL que devolva uma lista com todos os dias de um determinado mês? De momento apenas consegui chegar até aqui, tendo como exemplo o mês de Fevereiro de 2011: SELECT to_date('2011/02', '/MM'), (date_trunc('MONTH', to_date('2011/02', '/MM')) + INTERVAL '1 MONTH - 1 day')::date; O resultado da anterior consulta é o primeiro e ultimo dia do mês: 2011-02-01;2011-02-28 Resultado pretendido é o seguinte: 2011-02-01 2011-02-02 2011-02-03 (...) 2011-02-26 2011-02-27 2011-02-28 Obrigado, Eloi Ribeiro GIS Analyst 39,45º -4,40º http://eloiribeiro.wordpress.com ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] consulta SQL que devolva uma lista com todos os dias de um determinado mês
Se ainda servir ... SELECT dia::date FROM ( SELECT (to_date('2011-03','-MM')+s.a*'1 day'::INTERVAL) AS dia FROM generate_series(0, (date_trunc('MONTH', to_date('2011/03', '/MM')) + INTERVAL '1 MONTH - 1 day')::date - to_date('2011/03', '/MM'), 1 ) AS s(a)) x Em 14 de março de 2011 07:36, Fabrízio de Royes Mello fabriziome...@gmail.com escreveu: Em 14 de março de 2011 07:13, Eloi Ribeiro eloi.ribe...@gmail.com escreveu: Ola a toda a lista, É possível criar uma consulta SQL que devolva uma lista com todos os dias de um determinado mês? De momento apenas consegui chegar até aqui, tendo como exemplo o mês de Fevereiro de 2011: SELECT to_date('2011/02', '/MM'), (date_trunc('MONTH', to_date('2011/02', '/MM')) + INTERVAL '1 MONTH - 1 day')::date; O resultado da anterior consulta é o primeiro e ultimo dia do mês: 2011-02-01;2011-02-28 Resultado pretendido é o seguinte: 2011-02-01 2011-02-02 2011-02-03 (...) 2011-02-26 2011-02-27 2011-02-28 Veja se isso resolve: select '2011-02-01'::date + dia from generate_series(0, extract( day from (('2011-02-01'::date + '1 month'::interval)::date - 1::integer))::integer - 1) as dia; Cordialmente, -- Fabrízio de Royes Mello Blog sobre TI: http://fabriziomello.blogspot.com Perfil Linkedin: http://br.linkedin.com/in/fabriziomello ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] consulta SQL que devolva uma lista com todos os dias de um determinado mês
2011/3/14 Emerson Hermann emersonherm...@gmail.com Se ainda servir ... SELECT dia::date FROM ( SELECT (to_date('2011-03','-MM')+s.a*'1 day'::INTERVAL) AS dia FROM generate_series(0, (date_trunc('MONTH', to_date('2011/03', '/MM')) + INTERVAL '1 MONTH - 1 day')::date - to_date('2011/03', '/MM'), 1 ) AS s(a)) x Em 14 de março de 2011 07:36, Fabrízio de Royes Mello fabriziome...@gmail.com escreveu: Em 14 de março de 2011 07:13, Eloi Ribeiro eloi.ribe...@gmail.com escreveu: Ola a toda a lista, É possível criar uma consulta SQL que devolva uma lista com todos os dias de um determinado mês? De momento apenas consegui chegar até aqui, tendo como exemplo o mês de Fevereiro de 2011: SELECT to_date('2011/02', '/MM'), (date_trunc('MONTH', to_date('2011/02', '/MM')) + INTERVAL '1 MONTH - 1 day')::date; O resultado da anterior consulta é o primeiro e ultimo dia do mês: 2011-02-01;2011-02-28 Resultado pretendido é o seguinte: 2011-02-01 2011-02-02 2011-02-03 (...) 2011-02-26 2011-02-27 2011-02-28 Veja se isso resolve: select '2011-02-01'::date + dia from generate_series(0, extract( day from (('2011-02-01'::date + '1 month'::interval)::date - 1::integer))::integer - 1) as dia; Cordialmente, -- Fabrízio de Royes Mello Blog sobre TI: http://fabriziomello.blogspot.com Perfil Linkedin: http://br.linkedin.com/in/fabriziomello ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral Assim fica bastante simples: SELECT * FROM generate_series('2011-02-01'::date,'2011-03-01'::date-1, '1 day'); Obrigado a todos, Eloi Ribeiro GIS Analyst 39,45º -4,40º http://eloiribeiro.wordpress.com ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] consulta SQL que devolva uma lista com todos os dias de um determinado mês
Olá, exemplo: gerar todos os dias de janeiro de 2011 primeiro parametro dia 01 de janeiro de 2011, segundo parametro dia 01 de fevereiro de 2011 - (1 dia) select * from generate_series('2011-01-01'::date,'2011-02-01'::date - '1 day'::interval,'1 day') Claudio Oliveira http://www.msisolucoes.com.br Date: Mon, 14 Mar 2011 12:00:55 +0100 From: eloi.ribe...@gmail.com To: fabriziome...@gmail.com CC: pgbr-geral@listas.postgresql.org.br Subject: Re: [pgbr-geral] consulta SQL que devolva uma lista com todos os dias de um determinado mês 2011/3/14 Fabrízio de Royes Mello fabriziome...@gmail.com Em 14 de março de 2011 07:13, Eloi Ribeiro eloi.ribe...@gmail.com escreveu: Ola a toda a lista, É possível criar uma consulta SQL que devolva uma lista com todos os dias de um determinado mês?De momento apenas consegui chegar até aqui, tendo como exemplo o mês de Fevereiro de 2011: SELECTto_date('2011/02', '/MM'), (date_trunc('MONTH', to_date('2011/02', '/MM')) + INTERVAL '1 MONTH - 1 day')::date; O resultado da anterior consulta é o primeiro e ultimo dia do mês:2011-02-01;2011-02-28 Resultado pretendido é o seguinte:2011-02-01 2011-02-022011-02-03(...) 2011-02-262011-02-272011-02-28 Veja se isso resolve: select '2011-02-01'::date + dia from generate_series(0, extract( day from (('2011-02-01'::date + '1 month'::interval)::date - 1::integer))::integer - 1) as dia; Cordialmente, -- Fabrízio de Royes Mello Blog sobre TI: http://fabriziomello.blogspot.com Perfil Linkedin: http://br.linkedin.com/in/fabriziomello Muito obrigado Fabrízio, solucionado!Eloi Ribeiro GIS Analyst 39,45º -4,40º http://eloiribeiro.wordpress.com ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral