funcion en sql server para listar dias entre dos fechas
![Nota Nota](./styles/prosilver/imageset/icon_post_target.gif)
buenas tardes a todos, espero una ayuda, lo que pasa es que necsito una funcion o query, para listar los dias entre dos fechas, hay que tener en cuenat que estas fechas yo las ingreso como parametros @Fecha1 y @Fecha2, yo por internet consegui alunga vez este query y lo modifique como lo queria, pero ahora necesito algo mas avanzado. les dejo este empleo de lo que algun dia encontre por interent y modifique un poco
--========================================================================
use msv
declare @Fecha as datetime = '2014-07-01'
Select
CONVERT(VARCHAR, dt_val, 101) AS DIA
from
(
--–Matriz cruzada de valores numericos
select
--dateadd(dd, value, dateadd(month, 4 -1, dateadd(year, 2013 -1900, '1900.01.01 00:00:00.000'))) as dt_val
dateadd(dd, value, dateadd(month, month(@fecha) -1, dateadd(year, year(@fecha) -1900, '1900.01.01 00:00:00.000'))) as dt_val
from
( select (v2 * 4 + v1) * 4 + v0 as value
from
(select 0 as v0 union select 1 union select 2 union select 3) as rs0 cross join
(select 0 as v1 union select 1 union select 2 union select 3) as rs1 cross join
(select 0 as v2 union select 1 union select 2 union select 3) as rs2
) as rs
--–fin de matriz
) as rs2
where month(dt_val) = MONTH(@fecha)
--========================================================================
ojala me puedan ayudar con este problema, ya que como ven, no tengo ninguna tabla que le pegue para sacar los dias entre lso dos parametros, sino que primero los debo generar y luego hacer otras operaciones que necesito....
--========================================================================
use msv
declare @Fecha as datetime = '2014-07-01'
Select
CONVERT(VARCHAR, dt_val, 101) AS DIA
from
(
--–Matriz cruzada de valores numericos
select
--dateadd(dd, value, dateadd(month, 4 -1, dateadd(year, 2013 -1900, '1900.01.01 00:00:00.000'))) as dt_val
dateadd(dd, value, dateadd(month, month(@fecha) -1, dateadd(year, year(@fecha) -1900, '1900.01.01 00:00:00.000'))) as dt_val
from
( select (v2 * 4 + v1) * 4 + v0 as value
from
(select 0 as v0 union select 1 union select 2 union select 3) as rs0 cross join
(select 0 as v1 union select 1 union select 2 union select 3) as rs1 cross join
(select 0 as v2 union select 1 union select 2 union select 3) as rs2
) as rs
--–fin de matriz
) as rs2
where month(dt_val) = MONTH(@fecha)
--========================================================================
ojala me puedan ayudar con este problema, ya que como ven, no tengo ninguna tabla que le pegue para sacar los dias entre lso dos parametros, sino que primero los debo generar y luego hacer otras operaciones que necesito....