Listar dias entre um intervalo de datas no firebird
Olá pessoall... alguém sabe como criar uma storage procedure no firebird que liste todos os dias de um intervalo de datas, exemplo: passando os parâmetros DataInicial = 01/09/2016 e DataFinal 03/09/2016 o retorno ser =
01/09/2016
02/09/2016
03/09/2016
agradeço desde ja
[]´s
01/09/2016
02/09/2016
03/09/2016
agradeço desde ja
[]´s
Rodrigo Crp
Curtidas 0
Respostas
Raimundo Pereira
24/09/2016
O select séria esse
SELECT * FROM SUA_TABELA WHERE CAMPO_DATE BETWEEN '01.09.2016' AND '03.09.2016'
Basta implementar a sua procedure
SELECT * FROM SUA_TABELA WHERE CAMPO_DATE BETWEEN '01.09.2016' AND '03.09.2016'
Basta implementar a sua procedure
GOSTEI 0
Rodrigo Crp
24/09/2016
O select séria esse
SELECT * FROM SUA_TABELA WHERE CAMPO_DATE BETWEEN '01.09.2016' AND '03.09.2016'
Basta implementar a sua procedure
SELECT * FROM SUA_TABELA WHERE CAMPO_DATE BETWEEN '01.09.2016' AND '03.09.2016'
Basta implementar a sua procedure
Olá P2... desta forma seria dado o select em uma tabela, ou seja, caso não houver um registro com data 02/09/2016 (por ex) não aparecerá esta data na listagem.... preciso que apareça todas as datas do intervalo... por isso a idéia da storage procedure, para não precisar envolver a tabela e sim os parametros de data... obrigado
GOSTEI 0
Francisco Vitor
24/09/2016
O select séria esse
SELECT * FROM SUA_TABELA WHERE CAMPO_DATE BETWEEN '01.09.2016' AND '03.09.2016'
Basta implementar a sua procedure
Bom dia, encontrei a solução desse problema, mesmo que a duvida seja antiga a resposta vai servir para quem procurar. with recursive dt as ( select cast('2021-02-01' as date) as dt from rdb$database union all select dt.dt + 1 from dt where dt < cast('2021-03-31' as date)) select dt.dt from dt estou usando o Firebird 2.5 e o IBExpert para rodar o comando.SELECT * FROM SUA_TABELA WHERE CAMPO_DATE BETWEEN '01.09.2016' AND '03.09.2016'
Basta implementar a sua procedure
Bom dia, encontrei a solução desse problema, mesmo que a duvida seja antiga a resposta vai servir para quem procurar.
with recursive dt as (
select cast('2021-02-01' as date) as dt
from rdb$database
union all
select dt.dt + 1
from dt
where dt < cast('2021-03-31' as date)) select dt.dt from dt
Estou usando o Firebird 2.5 e o IBExpert para rodar o comando.
GOSTEI 0