Pregunta sobre fecha exacta

06/08/2007 - 20:07 por lucho | Informe spam
Buenas tardes Grupo:

es posible que esta pregunta ya la hayan relizado, pero no encuentro la
respuesta.

Tengo la siguiente inquietud:

En una tabla, estan registrados todos los articulos que tiene un cliente.

La tabla mas o menos tiene los siguientes campos:
NOMBREPRODUCTOS || FECHAINICIOGARANTIA||FECHAFINGARANTIA||TIPOVINCULO
Producto1 2007-08-06 00:00:00:00
2007-09-05 00:00:00:00 || G
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

La idea es obtener todos los dias los productos que se vencen en
FECHAFINGARANTIA, tomando la fecha de ese dia y sumandole 30 dias.

Ejemplo:

Hoy es 6 de agosto: lo que quiero es obtener todos los productos que se
vencen al tomar el 6 de agosto y sumarle 30 dias, osea, el 5 de Septiembre
(por lo que agosto tiene 31 dias).

Intentos:

1. Realice la siguiente consulta pero no consigo nada, debido a que la hora
de vencimiento de la garantia es a las 12:00:00 y estoy tomando como punto
de partida la función getdate ().

SELECT * FROM PRODUCTOSCLIENTES
WHERE FECHAFINALGARANTIA BETWEEN CONVERT (CHAR, GETDATE ()+30, 102) AND
CONVERT (CHAR, GETDATE ()+31, 102)
AND TIPOVINCULO = 'G'


Agradezco a todos su amable colaboración




Atentamente



LUCHO

Preguntas similare

Leer las respuestas

#1 Maxi
06/08/2007 - 23:18 | Informe spam
Lucho, en principio no uses BetWeen, sino que usa este algoritmo

where fecha >= fechainicio and fecha < dateadd(dd,1,fechafin)


-
Microsoft M.V.P en SQLServer
SQLTotal Consulting - Servicios en SQLServer
Email:
"lucho" escribió en el mensaje
news:
Buenas tardes Grupo:

es posible que esta pregunta ya la hayan relizado, pero no encuentro la
respuesta.

Tengo la siguiente inquietud:

En una tabla, estan registrados todos los articulos que tiene un cliente.

La tabla mas o menos tiene los siguientes campos:
> NOMBREPRODUCTOS || FECHAINICIOGARANTIA||FECHAFINGARANTIA||TIPOVINCULO
> Producto1 2007-08-06 00:00:00:00
2007-09-05 00:00:00:00 || G
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

La idea es obtener todos los dias los productos que se vencen en
FECHAFINGARANTIA, tomando la fecha de ese dia y sumandole 30 dias.

Ejemplo:

Hoy es 6 de agosto: lo que quiero es obtener todos los productos que se
vencen al tomar el 6 de agosto y sumarle 30 dias, osea, el 5 de Septiembre
(por lo que agosto tiene 31 dias).

Intentos:
>
1. Realice la siguiente consulta pero no consigo nada, debido a que la
hora
de vencimiento de la garantia es a las 12:00:00 y estoy tomando como punto
de partida la función getdate ().

SELECT * FROM PRODUCTOSCLIENTES
WHERE FECHAFINALGARANTIA BETWEEN CONVERT (CHAR, GETDATE ()+30, 102) AND
CONVERT (CHAR, GETDATE ()+31, 102)
AND TIPOVINCULO = 'G'


Agradezco a todos su amable colaboración




Atentamente



LUCHO


Respuesta Responder a este mensaje
#2 Enrique Jaco
07/08/2007 - 00:55 | Informe spam
Porque no usar between?

"Maxi" wrote in message
news:OIE$
Lucho, en principio no uses BetWeen, sino que usa este algoritmo

where fecha >= fechainicio and fecha < dateadd(dd,1,fechafin)


-
Microsoft M.V.P en SQLServer
SQLTotal Consulting - Servicios en SQLServer
Email:
"lucho" escribió en el mensaje
news:
Buenas tardes Grupo:

es posible que esta pregunta ya la hayan relizado, pero no encuentro la
respuesta.

Tengo la siguiente inquietud:

En una tabla, estan registrados todos los articulos que tiene un cliente.

La tabla mas o menos tiene los siguientes campos:
>> NOMBREPRODUCTOS || FECHAINICIOGARANTIA||FECHAFINGARANTIA||TIPOVINCULO
>> Producto1 2007-08-06 00:00:00:00
2007-09-05 00:00:00:00 || G
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

La idea es obtener todos los dias los productos que se vencen en
FECHAFINGARANTIA, tomando la fecha de ese dia y sumandole 30 dias.

Ejemplo:

Hoy es 6 de agosto: lo que quiero es obtener todos los productos que se
vencen al tomar el 6 de agosto y sumarle 30 dias, osea, el 5 de
Septiembre
(por lo que agosto tiene 31 dias).

Intentos:
>>
1. Realice la siguiente consulta pero no consigo nada, debido a que la
hora
de vencimiento de la garantia es a las 12:00:00 y estoy tomando como
punto
de partida la función getdate ().

SELECT * FROM PRODUCTOSCLIENTES
WHERE FECHAFINALGARANTIA BETWEEN CONVERT (CHAR, GETDATE ()+30, 102) AND
CONVERT (CHAR, GETDATE ()+31, 102)
AND TIPOVINCULO = 'G'


Agradezco a todos su amable colaboración




Atentamente



LUCHO






Respuesta Responder a este mensaje
#3 Maxi
07/08/2007 - 16:59 | Informe spam
Hola porque deberias pasarle tambien el horario por ejmplo: fecha 23:59:00,
acordate que es <= y no <


Salu2

Microsoft MVP SQL Server
Culminis Speaker

"Enrique Jaco" escribió en el mensaje
news:
Porque no usar between?

"Maxi" wrote in message
news:OIE$
Lucho, en principio no uses BetWeen, sino que usa este algoritmo

where fecha >= fechainicio and fecha < dateadd(dd,1,fechafin)


-
Microsoft M.V.P en SQLServer
SQLTotal Consulting - Servicios en SQLServer
Email:
"lucho" escribió en el mensaje
news:
Buenas tardes Grupo:

es posible que esta pregunta ya la hayan relizado, pero no encuentro la
respuesta.

Tengo la siguiente inquietud:

En una tabla, estan registrados todos los articulos que tiene un
cliente.

La tabla mas o menos tiene los siguientes campos:
>>> NOMBREPRODUCTOS || FECHAINICIOGARANTIA||FECHAFINGARANTIA||TIPOVINCULO
>>> Producto1 2007-08-06 00:00:00:00
2007-09-05 00:00:00:00 || G
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

La idea es obtener todos los dias los productos que se vencen en
FECHAFINGARANTIA, tomando la fecha de ese dia y sumandole 30 dias.

Ejemplo:

Hoy es 6 de agosto: lo que quiero es obtener todos los productos que se
vencen al tomar el 6 de agosto y sumarle 30 dias, osea, el 5 de
Septiembre
(por lo que agosto tiene 31 dias).

Intentos:
>>>
1. Realice la siguiente consulta pero no consigo nada, debido a que la
hora
de vencimiento de la garantia es a las 12:00:00 y estoy tomando como
punto
de partida la función getdate ().

SELECT * FROM PRODUCTOSCLIENTES
WHERE FECHAFINALGARANTIA BETWEEN CONVERT (CHAR, GETDATE ()+30, 102) AND
CONVERT (CHAR, GETDATE ()+31, 102)
AND TIPOVINCULO = 'G'


Agradezco a todos su amable colaboración




Atentamente



LUCHO










Respuesta Responder a este mensaje
#4 LUCHO
08/08/2007 - 02:13 | Informe spam
Hola Maxi:

Agrazco tu ayuda.

No se si fue que no me hice entender: lo que necesito es hallar todos los
productos que se vencen en exactamente un mes; esto lo hayaria si pudiera
tomar la fecha de hoy y sumarle los 30 dias o en su defecto poder hacer que
la fecha del Where quede en formato ANSI, como esto:


SELECT CODIGOUNICOPRODUCTO, FECHAINICIALVINCULO, FECHAFINALVINCULO
FROM PRODUCTOSCLIENTES
WHERE FECHAFINALVINCULO = '20070907'

De modo que como en el campo todas las fechas quedan con hora 00:00:00 los
encuentre a todos, y no a los que tengan la misma aparte de la fecha, la
misma hora en la que se hace la consulta.

Agradezco tu amable orientacion

LUCHO

"Maxi" escribió en el mensaje
news:OIE$
Lucho, en principio no uses BetWeen, sino que usa este algoritmo

where fecha >= fechainicio and fecha < dateadd(dd,1,fechafin)


-
Microsoft M.V.P en SQLServer
SQLTotal Consulting - Servicios en SQLServer
Email:
"lucho" escribió en el mensaje
news:
Buenas tardes Grupo:

es posible que esta pregunta ya la hayan relizado, pero no encuentro la
respuesta.

Tengo la siguiente inquietud:

En una tabla, estan registrados todos los articulos que tiene un cliente.

La tabla mas o menos tiene los siguientes campos:
>> NOMBREPRODUCTOS || FECHAINICIOGARANTIA||FECHAFINGARANTIA||TIPOVINCULO
>> Producto1 2007-08-06 00:00:00:00
2007-09-05 00:00:00:00 || G
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

La idea es obtener todos los dias los productos que se vencen en
FECHAFINGARANTIA, tomando la fecha de ese dia y sumandole 30 dias.

Ejemplo:

Hoy es 6 de agosto: lo que quiero es obtener todos los productos que se
vencen al tomar el 6 de agosto y sumarle 30 dias, osea, el 5 de
Septiembre
(por lo que agosto tiene 31 dias).

Intentos:
>>
1. Realice la siguiente consulta pero no consigo nada, debido a que la
hora
de vencimiento de la garantia es a las 12:00:00 y estoy tomando como
punto
de partida la función getdate ().

SELECT * FROM PRODUCTOSCLIENTES
WHERE FECHAFINALGARANTIA BETWEEN CONVERT (CHAR, GETDATE ()+30, 102) AND
CONVERT (CHAR, GETDATE ()+31, 102)
AND TIPOVINCULO = 'G'


Agradezco a todos su amable colaboración




Atentamente



LUCHO






Respuesta Responder a este mensaje
#5 Maxi
08/08/2007 - 15:13 | Informe spam
Lucho, sin datos y DDL es casi imposible poderte ayudar.
Si la fecha no tiene la Hora y vos la queres incluir no vas a poder porque
ese dato no esta!, dame un par de ejemplos de datos y como deberia ser el
resultado final, ponelo en un .txt asi se lee mejor


Salu2

Microsoft MVP SQL Server
Culminis Speaker

"LUCHO" escribió en el mensaje
news:%
Hola Maxi:

Agrazco tu ayuda.

No se si fue que no me hice entender: lo que necesito es hallar todos los
productos que se vencen en exactamente un mes; esto lo hayaria si pudiera
tomar la fecha de hoy y sumarle los 30 dias o en su defecto poder hacer
que la fecha del Where quede en formato ANSI, como esto:


SELECT CODIGOUNICOPRODUCTO, FECHAINICIALVINCULO, FECHAFINALVINCULO
FROM PRODUCTOSCLIENTES
WHERE FECHAFINALVINCULO = '20070907'

De modo que como en el campo todas las fechas quedan con hora 00:00:00
los encuentre a todos, y no a los que tengan la misma aparte de la fecha,
la misma hora en la que se hace la consulta.

Agradezco tu amable orientacion

LUCHO

"Maxi" escribió en el mensaje
news:OIE$
Lucho, en principio no uses BetWeen, sino que usa este algoritmo

where fecha >= fechainicio and fecha < dateadd(dd,1,fechafin)


-
Microsoft M.V.P en SQLServer
SQLTotal Consulting - Servicios en SQLServer
Email:
"lucho" escribió en el mensaje
news:
Buenas tardes Grupo:

es posible que esta pregunta ya la hayan relizado, pero no encuentro la
respuesta.

Tengo la siguiente inquietud:

En una tabla, estan registrados todos los articulos que tiene un
cliente.

La tabla mas o menos tiene los siguientes campos:
>>> NOMBREPRODUCTOS || FECHAINICIOGARANTIA||FECHAFINGARANTIA||TIPOVINCULO
>>> Producto1 2007-08-06 00:00:00:00
2007-09-05 00:00:00:00 || G
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

La idea es obtener todos los dias los productos que se vencen en
FECHAFINGARANTIA, tomando la fecha de ese dia y sumandole 30 dias.

Ejemplo:

Hoy es 6 de agosto: lo que quiero es obtener todos los productos que se
vencen al tomar el 6 de agosto y sumarle 30 dias, osea, el 5 de
Septiembre
(por lo que agosto tiene 31 dias).

Intentos:
>>>
1. Realice la siguiente consulta pero no consigo nada, debido a que la
hora
de vencimiento de la garantia es a las 12:00:00 y estoy tomando como
punto
de partida la función getdate ().

SELECT * FROM PRODUCTOSCLIENTES
WHERE FECHAFINALGARANTIA BETWEEN CONVERT (CHAR, GETDATE ()+30, 102) AND
CONVERT (CHAR, GETDATE ()+31, 102)
AND TIPOVINCULO = 'G'


Agradezco a todos su amable colaboración




Atentamente



LUCHO










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