traer dia de la semana

29/08/2005 - 19:11 por Elva Pascacio | Informe spam
Grupo,

Hola a todos, alguien sabra como puedo hacer que corra un query solo un dia
de la semana?

Gracias

Preguntas similare

Leer las respuestas

#6 Isaias
29/08/2005 - 22:53 | Informe spam
(Con el persimo de Alejandro)

Elva

El ejecutar un Query un dia especifico de la semana (o cualquier otro
intervalo de tiempo) lo puedes hacer mediante un JOB o Tarea.

Lee en tu ayuda en linea algo sobre JOB's
Respuesta Responder a este mensaje
#7 Alejandro Mesa
29/08/2005 - 22:53 | Informe spam
Trata:

declare @dia datetime

set @dia = getdate()

select
*
from
dbo.dwmc144 as b
WHERE
b.T144_DAT_CRD_WHD >= dateadd(day, -1, convert(varchar(8), @dia, 112))
and b.T144_DAT_CRD_WHD < case when datename(dw, @d) = 'Sunday' then
dateadd(day, 1, convert(char(8), @dia, 112)) else convert(varchar(8), @dia,
112) end
go


AMB


"Elva Pascacio" wrote:

Isais,

gracias por tu respuesta, pero creo que no me di a entender :O ( , mira mi
problema es el siguiente:

Debo hacer lo siguiente, cuando es dia domingo me debe traer los datos del
dia anterior y del domingo y cuando es algun otro dia de la semana (Lunes a
Sabado) me debe traer informacion unicamente del dia anterior, estoy haciendo
un query pero no funciona como yo quiero, mira:


declare @d datetime
declare @dia datetime
set @dia = getdate()

SELECT @d = DATEPART(dw, GETDATE())

if @d = 7 -- si es domingo
begin
select * from dwmc144 b
WHERE b.T144_DAT_CRD_WHD >= dateadd(day, -2, convert(char(8), @dia, 112))
and b.T144_DAT_CRD_WHD < convert(char(8), @dia, 112)
end
else -- si es algun otro dia de la semana
begin
select * from dwmc144 b
WHERE b.T144_DAT_CRD_WHD >= dateadd(day, -1, convert(char(8), @dia, 112))
and b.T144_DAT_CRD_WHD < convert(char(8), @dia, 112)
end

pero en este caso entra siempre en la primera opcion :O (


"Isaias" escribió:

> (Con el persimo de Alejandro)
>
> Elva
>
> El ejecutar un Query un dia especifico de la semana (o cualquier otro
> intervalo de tiempo) lo puedes hacer mediante un JOB o Tarea.
>
> Lee en tu ayuda en linea algo sobre JOB's
Respuesta Responder a este mensaje
#8 Elva Pascacio
29/08/2005 - 23:06 | Informe spam
Alejandro

el query que me hiciste favor de enviarme no me funciona para lo que
necesito :'o(
mira simplemente quiero que que de lunes a sabado haga este query


declare @d datetime
set @d = getdate()
select * from dwmc144 b
WHERE b.T144_DAT_CRD_WHD >= dateadd(day, -1, convert(char(8), @d, 112))
and b.T144_DAT_CRD_WHD < convert(char(8), @d, 112)

pero si es domingo este

declare @d datetime
set @d = getdate()
select * from dwmc144 b
WHERE b.T144_DAT_CRD_WHD >= dateadd(day, -2, convert(char(8), @d, 112))
and b.T144_DAT_CRD_WHD < convert(char(8), @d, 112)

no puedo hacerlo en un job por que esta consulta ya esta en un DTS por si
que a su vez corre en un batch todos los dias.



"Alejandro Mesa" escribió:

Trata:

declare @dia datetime

set @dia = getdate()

select
*
from
dbo.dwmc144 as b
WHERE
b.T144_DAT_CRD_WHD >= dateadd(day, -1, convert(varchar(8), @dia, 112))
and b.T144_DAT_CRD_WHD < case when datename(dw, @d) = 'Sunday' then
dateadd(day, 1, convert(char(8), @dia, 112)) else convert(varchar(8), @dia,
112) end
go


AMB


"Elva Pascacio" wrote:

> Isais,
>
> gracias por tu respuesta, pero creo que no me di a entender :O ( , mira mi
> problema es el siguiente:
>
> Debo hacer lo siguiente, cuando es dia domingo me debe traer los datos del
> dia anterior y del domingo y cuando es algun otro dia de la semana (Lunes a
> Sabado) me debe traer informacion unicamente del dia anterior, estoy haciendo
> un query pero no funciona como yo quiero, mira:
>
>
> declare @d datetime
> declare @dia datetime
> set @dia = getdate()
>
> SELECT @d = DATEPART(dw, GETDATE())
>
> if @d = 7 -- si es domingo
> begin
> select * from dwmc144 b
> WHERE b.T144_DAT_CRD_WHD >= dateadd(day, -2, convert(char(8), @dia, 112))
> and b.T144_DAT_CRD_WHD < convert(char(8), @dia, 112)
> end
> else -- si es algun otro dia de la semana
> begin
> select * from dwmc144 b
> WHERE b.T144_DAT_CRD_WHD >= dateadd(day, -1, convert(char(8), @dia, 112))
> and b.T144_DAT_CRD_WHD < convert(char(8), @dia, 112)
> end
>
> pero en este caso entra siempre en la primera opcion :O (
>
>
> "Isaias" escribió:
>
> > (Con el persimo de Alejandro)
> >
> > Elva
> >
> > El ejecutar un Query un dia especifico de la semana (o cualquier otro
> > intervalo de tiempo) lo puedes hacer mediante un JOB o Tarea.
> >
> > Lee en tu ayuda en linea algo sobre JOB's
Respuesta Responder a este mensaje
#9 Elva Pascacio
29/08/2005 - 23:30 | Informe spam
Alejandro,

Con todas las ideas que me hiciste favor de dar asi es como quedo mi query

declare @dia datetime
declare @dianom varchar(15)
declare @d datetime
set @d = getdate()
set @dia = getdate()


select @dianom = datename(dw, @dia)

if @dianom = 'Sunday'
begin

SELECT
T144_NUM_BIN_CRD,
T144_NUM_CARD,
T144_ENT_WHD,
T144_BRN_WHD,
T144_COD_CRD_WHD,
T144_DAT_CRD_WHD
FROM
MAZP.MCDT144
WHERE
T144_DAT_CRD_WHD >= dateadd(day, -2, convert(char(8), @d, 112))
and T144_DAT_CRD_WHD < convert(char(8), @d, 112) -- DOMINGO
end
else
begin
SELECT
T144_NUM_BIN_CRD,
T144_NUM_CARD,
T144_ENT_WHD,
T144_BRN_WHD,
T144_COD_CRD_WHD,
T144_DAT_CRD_WHD
FROM
MAZP.MCDT144
WHERE
T144_DAT_CRD_WHD >= dateadd(day, -1, convert(char(8), @d, 112))
and T144_DAT_CRD_WHD < convert(char(8), @d, 112) -- LUNES A SABADO
end


Gracias =O )
"Elva Pascacio" escribió:

Alejandro

el query que me hiciste favor de enviarme no me funciona para lo que
necesito :'o(
mira simplemente quiero que que de lunes a sabado haga este query


declare @d datetime
set @d = getdate()
select * from dwmc144 b
WHERE b.T144_DAT_CRD_WHD >= dateadd(day, -1, convert(char(8), @d, 112))
and b.T144_DAT_CRD_WHD < convert(char(8), @d, 112)

pero si es domingo este

declare @d datetime
set @d = getdate()
select * from dwmc144 b
WHERE b.T144_DAT_CRD_WHD >= dateadd(day, -2, convert(char(8), @d, 112))
and b.T144_DAT_CRD_WHD < convert(char(8), @d, 112)

no puedo hacerlo en un job por que esta consulta ya esta en un DTS por si
que a su vez corre en un batch todos los dias.



"Alejandro Mesa" escribió:

> Trata:
>
> declare @dia datetime
>
> set @dia = getdate()
>
> select
> *
> from
> dbo.dwmc144 as b
> WHERE
> b.T144_DAT_CRD_WHD >= dateadd(day, -1, convert(varchar(8), @dia, 112))
> and b.T144_DAT_CRD_WHD < case when datename(dw, @d) = 'Sunday' then
> dateadd(day, 1, convert(char(8), @dia, 112)) else convert(varchar(8), @dia,
> 112) end
> go
>
>
> AMB
>
>
> "Elva Pascacio" wrote:
>
> > Isais,
> >
> > gracias por tu respuesta, pero creo que no me di a entender :O ( , mira mi
> > problema es el siguiente:
> >
> > Debo hacer lo siguiente, cuando es dia domingo me debe traer los datos del
> > dia anterior y del domingo y cuando es algun otro dia de la semana (Lunes a
> > Sabado) me debe traer informacion unicamente del dia anterior, estoy haciendo
> > un query pero no funciona como yo quiero, mira:
> >
> >
> > declare @d datetime
> > declare @dia datetime
> > set @dia = getdate()
> >
> > SELECT @d = DATEPART(dw, GETDATE())
> >
> > if @d = 7 -- si es domingo
> > begin
> > select * from dwmc144 b
> > WHERE b.T144_DAT_CRD_WHD >= dateadd(day, -2, convert(char(8), @dia, 112))
> > and b.T144_DAT_CRD_WHD < convert(char(8), @dia, 112)
> > end
> > else -- si es algun otro dia de la semana
> > begin
> > select * from dwmc144 b
> > WHERE b.T144_DAT_CRD_WHD >= dateadd(day, -1, convert(char(8), @dia, 112))
> > and b.T144_DAT_CRD_WHD < convert(char(8), @dia, 112)
> > end
> >
> > pero en este caso entra siempre en la primera opcion :O (
> >
> >
> > "Isaias" escribió:
> >
> > > (Con el persimo de Alejandro)
> > >
> > > Elva
> > >
> > > El ejecutar un Query un dia especifico de la semana (o cualquier otro
> > > intervalo de tiempo) lo puedes hacer mediante un JOB o Tarea.
> > >
> > > Lee en tu ayuda en linea algo sobre JOB's
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida