Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

SELECT para traer los registros de los ultimos dos dias

Estas en el tema de SELECT para traer los registros de los ultimos dos dias en el foro de SQL Server en Foros del Web. Amigos Tengo este SELECT que antes funcionaba y ahora no! jaja. Tengo una base SQL 2000 y la columna que me trae el problema (FechasIngerso) ...
  #1 (permalink)  
Antiguo 29/03/2010, 05:05
 
Fecha de Ingreso: septiembre-2006
Ubicación: Buenos Aires
Mensajes: 132
Antigüedad: 17 años, 7 meses
Puntos: 0
SELECT para traer los registros de los ultimos dos dias

Amigos

Tengo este SELECT que antes funcionaba y ahora no! jaja.
Tengo una base SQL 2000 y la columna que me trae el problema (FechasIngerso) es de tipo datetime.
Lo que hacia era hacer un SELECT de los registros de los ultimos dos dias asi:

Código:
SELECT   Nombres, FechasIngreso 
FROM         Personal
WHERE     Personas = 1 AND CurrentDate <= CONVERT(varchar, GETDATE() - 2, 112)
Antes me traia los registros de los ultimos dos dias, ahora no se porque me trae uno del 21 de febrerooo!! asi: 21/02/2010 17:30:07


A alguien se le ocurre que puede estar pasando?? Estoy desesperado! No entiendo porque me trae solo ese! El horario del servidor esta bien y tengo un monton de registros con fecha de ayer (ej; 28/03/2010 8:34:10) y de antes de ayer, etc,etc. Use varios ejemplos que vi en google pero nada....

help help!
  #2 (permalink)  
Antiguo 29/03/2010, 08:32
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: SELECT para traer los registros de los ultimos dos dias

En lugar de "<=" no debe ser ">=" ??
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #3 (permalink)  
Antiguo 29/03/2010, 11:07
 
Fecha de Ingreso: septiembre-2006
Ubicación: Buenos Aires
Mensajes: 132
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: SELECT para traer los registros de los ultimos dos dias

no me trae nada asi...
  #4 (permalink)  
Antiguo 29/03/2010, 15:59
Avatar de Gabo77  
Fecha de Ingreso: noviembre-2006
Mensajes: 381
Antigüedad: 17 años, 5 meses
Puntos: 6
Respuesta: SELECT para traer los registros de los ultimos dos dias

Estimado, prueba así...

Código SQL:
Ver original
  1. SELECT Nombres, FechasIngreso
  2. FROM Personal
  3. WHERE Personas = 1
  4.         AND CurrentDate <= GETDATE() - 2

Una duda.... no será que en el Where deberías usar el campo FechasIngreso? O es correcto que uses el campo CurrentDate?

Saludos!
__________________
Hicimos un pacto con Dios... El no desarrolla Sistemas y nosotros no hacemos milagros....
  #5 (permalink)  
Antiguo 30/03/2010, 10:36
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: SELECT para traer los registros de los ultimos dos dias

¿Y para que sirve entonces del DATEADD?
  #6 (permalink)  
Antiguo 30/03/2010, 11:03
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: SELECT para traer los registros de los ultimos dos dias

Para sumar o restar minutos, segundos, etc., menos dias jaja..
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #7 (permalink)  
Antiguo 30/03/2010, 11:58
Avatar de Gabo77  
Fecha de Ingreso: noviembre-2006
Mensajes: 381
Antigüedad: 17 años, 5 meses
Puntos: 6
Respuesta: SELECT para traer los registros de los ultimos dos dias

Claro... tu siempre te vas por lo mas dificil IISLAS... jeje es broma! Sin palabras!
__________________
Hicimos un pacto con Dios... El no desarrolla Sistemas y nosotros no hacemos milagros....
  #8 (permalink)  
Antiguo 30/03/2010, 14:14
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: SELECT para traer los registros de los ultimos dos dias

Pues adelante, entonces sigan sumando o restando NUMEROS a campos fechas.
  #9 (permalink)  
Antiguo 30/03/2010, 18:42
 
Fecha de Ingreso: enero-2010
Ubicación: SJM Lima - Peru
Mensajes: 55
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: SELECT para traer los registros de los ultimos dos dias

Cita:
Iniciado por german_martin Ver Mensaje
Amigos

Tengo este SELECT que antes funcionaba y ahora no! jaja.
Tengo una base SQL 2000 y la columna que me trae el problema (FechasIngerso) es de tipo datetime.
Lo que hacia era hacer un SELECT de los registros de los ultimos dos dias asi:

Código:
SELECT   Nombres, FechasIngreso 
FROM         Personal
WHERE     Personas = 1 AND CurrentDate <= CONVERT(varchar, GETDATE() - 2, 112)
Antes me traia los registros de los ultimos dos dias, ahora no se porque me trae uno del 21 de febrerooo!! asi: 21/02/2010 17:30:07


A alguien se le ocurre que puede estar pasando?? Estoy desesperado! No entiendo porque me trae solo ese! El horario del servidor esta bien y tengo un monton de registros con fecha de ayer (ej; 28/03/2010 8:34:10) y de antes de ayer, etc,etc. Use varios ejemplos que vi en google pero nada....

help help!

Hola
No se si probaste con las funciones de fecha en este caso el
DATEDIFF(parte, finicio, ffinal)
Devuelve un numero y si el inicio es igual al final devuelve 0 eso querra decir 0 es hoy y 1 es ayer si quisieras mas de 2 dias de antiguedad maneja el valor de comparacion y cual seria tu fecha inicial o fecha final

prueba la primera consulta y revisa el resultado del datediff
y despues ejecutas la segunda y veras como aplicarlo dentro de tus necesidades

Código SQL:
Ver original
  1. SELECT   Nombres, FechasIngreso , datediff(dd,CurrentDate,getdate())
  2. FROM         Personal
  3. GO
  4. SELECT   Nombres, FechasIngreso , datediff(dd,CurrentDate,getdate())
  5. FROM         Personal
  6. WHERE     Personas = 1 AND   datediff(dd,CurrentDate,getdate())<=1

con respecto a tu convert esta devolviendo un valor varchar y me parece que comparas quien es menor con una fecha...... datetime < varchar
con el datediff comparas siempre datos de tipo datetime pero segun el parametro parte te devuelve la diferencia entre ambas ya sea segundos hasta años

www.bitxense.com.pe | Soluciones Informaticas S.A.C. - [email protected]
Cualquier duda soy Jhon Bautista Palomino aqui esta mi correo MSN [email protected] Lima-Peru

Etiquetas: dias, dos, registros, select, ultimo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:20.