Saber cantidad de lunes de un mes

17/08/2005 - 22:03 por Harold Godefroy | Informe spam
Hay alguna funcion en SQL Server que directamente me de la cantidad de lunes
que tiene un mes? o alguien sabe y podria decirme si esta funcion esta
publicada en algun lugar donde pueda obtenerla? Gracias de antemano por sus
respuestas.

Saludos.
T.S.U. Harold Godefroy. Caracas - Venezuela
Coordinador Nacional Portalfox Venezuela
http://www.portalfox.com/venezuela
h a r o l d g o d e f r o y @ p o r t a l f o x . c o m

"Sí, soy un criminal, mi crimen es la curiosidad.
Mi crimen es juzgar a la gente por lo que dice y
piensa, no por lo que parece. Mi crimen es que
soy más listo que tu, algo que no me puedes perdonar."
The Mentor

Preguntas similare

Leer las respuestas

#1 Maxi
17/08/2005 - 22:10 | Informe spam
Hola, no hay dicha funcion, tampoco se si es correcto tenerla ya que sql no
deberia calcular estas cosas y si la capa de negocios. De todas maneras
podrias armarte una funcion definida por el usuario UDF que cumpla con estas
caracteristicas


Salu2
Maxi


"Harold Godefroy" escribió en el mensaje
news:
Hay alguna funcion en SQL Server que directamente me de la cantidad de
lunes que tiene un mes? o alguien sabe y podria decirme si esta funcion
esta publicada en algun lugar donde pueda obtenerla? Gracias de antemano
por sus respuestas.

> Saludos.
T.S.U. Harold Godefroy. Caracas - Venezuela
Coordinador Nacional Portalfox Venezuela
http://www.portalfox.com/venezuela
h a r o l d g o d e f r o y @ p o r t a l f o x . c o m

"Sí, soy un criminal, mi crimen es la curiosidad.
Mi crimen es juzgar a la gente por lo que dice y
piensa, no por lo que parece. Mi crimen es que
soy más listo que tu, algo que no me puedes perdonar."
The Mentor



Respuesta Responder a este mensaje
#2 Harold Godefroy
17/08/2005 - 22:25 | Informe spam
Maxi... mujer u hombre? bueno, lo que sea. El detalle de tenerla en el
server es para usarla en un SP que se ejecutaria al dispararse un trigger al
insertar un registro en una tabla de la base de datos; generalmente se haria
una vez al mes y queria que en vez de pasar el dato por parametro y llamar
al SP manualmente, todo eso se ejecutara automaticamente cuando indique el
mes y el año en los respectivos campos de la tabla en cuestion. De cualquier
manera Maxi, muy amable y rapida tu atencion; he visto que respondes
bastante rapido las consultas de las personas y eso merece la pena
recalcarlo. Gracias!!! (man o chica, lo que sea que seas :D)

Saludos.
T.S.U. Harold Godefroy. Caracas - Venezuela
Coordinador Nacional Portalfox Venezuela
http://www.portalfox.com/venezuela
h a r o l d g o d e f r o y @ p o r t a l f o x . c o m

"Sí, soy un criminal, mi crimen es la curiosidad.
Mi crimen es juzgar a la gente por lo que dice y
piensa, no por lo que parece. Mi crimen es que
soy más listo que tu, algo que no me puedes perdonar."
The Mentor


"Maxi" escribió en el mensaje
news:
Hola, no hay dicha funcion, tampoco se si es correcto tenerla ya que sql
no deberia calcular estas cosas y si la capa de negocios. De todas maneras
podrias armarte una funcion definida por el usuario UDF que cumpla con
estas caracteristicas


Salu2
Maxi


"Harold Godefroy" escribió en el mensaje
news:
Hay alguna funcion en SQL Server que directamente me de la cantidad de
lunes que tiene un mes? o alguien sabe y podria decirme si esta funcion
esta publicada en algun lugar donde pueda obtenerla? Gracias de antemano
por sus respuestas.

>> Saludos.
T.S.U. Harold Godefroy. Caracas - Venezuela
Coordinador Nacional Portalfox Venezuela
http://www.portalfox.com/venezuela
h a r o l d g o d e f r o y @ p o r t a l f o x . c o m

"Sí, soy un criminal, mi crimen es la curiosidad.
Mi crimen es juzgar a la gente por lo que dice y
piensa, no por lo que parece. Mi crimen es que
soy más listo que tu, algo que no me puedes perdonar."
The Mentor







Respuesta Responder a este mensaje
#3 Alejandro Mesa
17/08/2005 - 22:27 | Informe spam
Harold,

Una forma seria teniendo una tabla calendario:

Why should I consider using an auxiliary calendar table?
http://www.aspfaq.com/show.asp?id%19

select count(*)
from dbo.calendar
where y = 2005 and m = 8 and dayname = 'monday'
go

Tambien puedes crear una function que reciva una fecha como parametro, que
genere todos los dias del mes en cuestion y cuente cuanto lunes existen en la
lista.

Ejemplo:

select
identity(int, 0, 1) as number
into
dbo.number
from
sysobjects as t1
cross join
sysobjects as t2
go

create function dbo.f1 (
@d datetime
)
returns int
as
begin

set @d = convert(varchar(6), @d, 112) + '01'

return (
select
count(*)
from
dbo.number as n
inner join
(select @d) as t1(c1)
on n.number < day(dateadd(day, -1, dateadd(month, 1, @d)))
where
datename(weekday, dateadd(day, n.number, @d)) = 'monday'
)
end
go

select dbo.f1('20050701')
select dbo.f1('20050801')
select dbo.f1('20050901')
go

drop function dbo.f1
go

drop table dbo.number
go


AMB

"Harold Godefroy" wrote:

Hay alguna funcion en SQL Server que directamente me de la cantidad de lunes
que tiene un mes? o alguien sabe y podria decirme si esta funcion esta
publicada en algun lugar donde pueda obtenerla? Gracias de antemano por sus
respuestas.

> Saludos.
T.S.U. Harold Godefroy. Caracas - Venezuela
Coordinador Nacional Portalfox Venezuela
http://www.portalfox.com/venezuela
h a r o l d g o d e f r o y @ p o r t a l f o x . c o m

"Sí, soy un criminal, mi crimen es la curiosidad.
Mi crimen es juzgar a la gente por lo que dice y
piensa, no por lo que parece. Mi crimen es que
soy más listo que tu, algo que no me puedes perdonar."
The Mentor




Respuesta Responder a este mensaje
#4 Alejandro Mesa
17/08/2005 - 22:32 | Informe spam
Creo que la operacion join en la funcion no es necesaria.

create function dbo.f1 (
@d datetime
)
returns int
as
begin

set @d = convert(varchar(6), @d, 112) + '01'

return (
select
count(*)
from
dbo.number as n
where
n.number < day(dateadd(day, -1, dateadd(month, 1, @d)))
and datename(weekday, dateadd(day, n.number, @d)) = 'monday'
)
end
go


AMB


"Alejandro Mesa" wrote:

Harold,

Una forma seria teniendo una tabla calendario:

Why should I consider using an auxiliary calendar table?
http://www.aspfaq.com/show.asp?id%19

select count(*)
from dbo.calendar
where y = 2005 and m = 8 and dayname = 'monday'
go

Tambien puedes crear una function que reciva una fecha como parametro, que
genere todos los dias del mes en cuestion y cuente cuanto lunes existen en la
lista.

Ejemplo:

select
identity(int, 0, 1) as number
into
dbo.number
from
sysobjects as t1
cross join
sysobjects as t2
go

create function dbo.f1 (
@d datetime
)
returns int
as
begin

set @d = convert(varchar(6), @d, 112) + '01'

return (
select
count(*)
from
dbo.number as n
inner join
(select @d) as t1(c1)
on n.number < day(dateadd(day, -1, dateadd(month, 1, @d)))
where
datename(weekday, dateadd(day, n.number, @d)) = 'monday'
)
end
go

select dbo.f1('20050701')
select dbo.f1('20050801')
select dbo.f1('20050901')
go

drop function dbo.f1
go

drop table dbo.number
go


AMB

"Harold Godefroy" wrote:

> Hay alguna funcion en SQL Server que directamente me de la cantidad de lunes
> que tiene un mes? o alguien sabe y podria decirme si esta funcion esta
> publicada en algun lugar donde pueda obtenerla? Gracias de antemano por sus
> respuestas.
>
> > > Saludos.
> T.S.U. Harold Godefroy. Caracas - Venezuela
> Coordinador Nacional Portalfox Venezuela
> http://www.portalfox.com/venezuela
> h a r o l d g o d e f r o y @ p o r t a l f o x . c o m
>
> "Sí, soy un criminal, mi crimen es la curiosidad.
> Mi crimen es juzgar a la gente por lo que dice y
> piensa, no por lo que parece. Mi crimen es que
> soy más listo que tu, algo que no me puedes perdonar."
> The Mentor
>
>
>
>
Respuesta Responder a este mensaje
#5 Maxi
17/08/2005 - 22:37 | Informe spam
Hola soy hombre ;-) pero llendo a tu tema, con la complejidad que puede
tener esto en sql yo lo pasaria como un parametro al proceso, de todas
maneras puedes hacer lo que indico Ale o bien una UDF


Salu2
Maxi


"Harold Godefroy" escribió en el mensaje
news:
Maxi... mujer u hombre? bueno, lo que sea. El detalle de tenerla en el
server es para usarla en un SP que se ejecutaria al dispararse un trigger
al insertar un registro en una tabla de la base de datos; generalmente se
haria una vez al mes y queria que en vez de pasar el dato por parametro y
llamar al SP manualmente, todo eso se ejecutara automaticamente cuando
indique el mes y el año en los respectivos campos de la tabla en cuestion.
De cualquier manera Maxi, muy amable y rapida tu atencion; he visto que
respondes bastante rapido las consultas de las personas y eso merece la
pena recalcarlo. Gracias!!! (man o chica, lo que sea que seas :D)

> Saludos.
T.S.U. Harold Godefroy. Caracas - Venezuela
Coordinador Nacional Portalfox Venezuela
http://www.portalfox.com/venezuela
h a r o l d g o d e f r o y @ p o r t a l f o x . c o m

"Sí, soy un criminal, mi crimen es la curiosidad.
Mi crimen es juzgar a la gente por lo que dice y
piensa, no por lo que parece. Mi crimen es que
soy más listo que tu, algo que no me puedes perdonar."
The Mentor


"Maxi" escribió en el mensaje
news:
Hola, no hay dicha funcion, tampoco se si es correcto tenerla ya que sql
no deberia calcular estas cosas y si la capa de negocios. De todas
maneras podrias armarte una funcion definida por el usuario UDF que
cumpla con estas caracteristicas


Salu2
Maxi


"Harold Godefroy" escribió en el mensaje
news:
Hay alguna funcion en SQL Server que directamente me de la cantidad de
lunes que tiene un mes? o alguien sabe y podria decirme si esta funcion
esta publicada en algun lugar donde pueda obtenerla? Gracias de antemano
por sus respuestas.

>>> Saludos.
T.S.U. Harold Godefroy. Caracas - Venezuela
Coordinador Nacional Portalfox Venezuela
http://www.portalfox.com/venezuela
h a r o l d g o d e f r o y @ p o r t a l f o x . c o m

"Sí, soy un criminal, mi crimen es la curiosidad.
Mi crimen es juzgar a la gente por lo que dice y
piensa, no por lo que parece. Mi crimen es que
soy más listo que tu, algo que no me puedes perdonar."
The Mentor











email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida