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

SQL Server comparacion de fechas con GetDate

Estas en el tema de SQL Server comparacion de fechas con GetDate en el foro de SQL Server en Foros del Web. Buenos dias! Estoy en SQL Server y tengo el siguiente condicional: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código SQL: Ver original IF @fecha < GetDate ( )     ...
  #1 (permalink)  
Antiguo 01/12/2010, 05:43
Avatar de dmassive  
Fecha de Ingreso: febrero-2002
Ubicación: Paraná - Entre Ríos - Argentina
Mensajes: 279
Antigüedad: 22 años, 2 meses
Puntos: 7
Pregunta SQL Server comparacion de fechas con GetDate

Buenos dias!

Estoy en SQL Server y tengo el siguiente condicional:

Código SQL:
Ver original
  1. IF @fecha < GetDate()
  2.     BEGIN
  3.     RAISERROR('La fecha es anterior al dia actual.', 16, 1)
  4.     RETURN -1
  5.     END

@fecha es smalldatetime

El objetivo de la condicion es tirar error si la @fecha es inferior a la fecha actual, pero..

El problema es que ese condicional es true cuando la fechas coinciden. Asumo que el error es por la hora, que @fecha debe tener como hora 00:00 y GetDate() la hora actual por eso es que siempre va ser inferior.

¿Alguna sugerencia sobre como realizar tal comparacion?

Gracias!
__________________
Blümchen... einfach die rave Prinzessin
http://www.dmassive.com.ar/
  #2 (permalink)  
Antiguo 01/12/2010, 08:20
Avatar de Snaft_J1  
Fecha de Ingreso: diciembre-2006
Mensajes: 285
Antigüedad: 17 años, 5 meses
Puntos: 8
Respuesta: SQL Server comparacion de fechas con GetDate

hola.

siempre va a ser true cuando sean igual pues tu condición así lo indica (SOLO MENORES, en ninguna parte excluyes MENORES E IGUALES.

ahora yo que tu igualaría los tipos de datos, pero insisto en mi primera observación.

Código SQL:
Ver original
  1. IF CONVERT (VARCHAR, @fecha,111) < CONVERT (VARCHAR, GetDate(),111)
  2.     BEGIN
  3.     RAISERROR('La fecha es anterior al dia actual.', 16, 1)
  4.     RETURN -1
  5.     END
__________________
-= El conocimiento y el saber te hacen un ser libre =-
Ando en busca de conocimiento....
  #3 (permalink)  
Antiguo 01/12/2010, 09:18
Avatar de dmassive  
Fecha de Ingreso: febrero-2002
Ubicación: Paraná - Entre Ríos - Argentina
Mensajes: 279
Antigüedad: 22 años, 2 meses
Puntos: 7
De acuerdo Respuesta: SQL Server comparacion de fechas con GetDate

Buenisimo!! Me sirvio!!!

Había intentado hacer conversiones y cast, pero siempre caía en el conocido error "la conversion del tipo de datos de tal a tal, genero un valor fuera de intervalo".

Pero tu sugerencia funciona! Gracias!
__________________
Blümchen... einfach die rave Prinzessin
http://www.dmassive.com.ar/
  #4 (permalink)  
Antiguo 03/12/2010, 01:30
Avatar de Joch_pa  
Fecha de Ingreso: octubre-2009
Ubicación: Pachuca De Soto, Hidalgo, Mexico, Mexico
Mensajes: 122
Antigüedad: 14 años, 6 meses
Puntos: 7
Pregunta Respuesta: SQL Server comparacion de fechas con GetDate

y si pruebas de la siguiente forma?
creo que es mejor esta forma, puesto al convertir a varchar la forma de validar o comparar es diferente y no es recomendable.

le hice un pequeño ajuste (lo tenia que probar antes en el Query Analyzer)
Código asp:
Ver original
  1. declare @fecha smalldatetime
  2. set @fecha=getdate()
  3.  
  4. IF DATEDIFF(day, @fecha, getdate())>0
  5. BEGIN
  6.     select 'Fecha incorrecta'
  7. END
  8. else
  9. begin
  10.     select 'Fecha correcta'
  11. end

Etiquetas: comparacion, fechas, server, sql
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 01:34.