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

Comparando fechas...de nuevo!

Estas en el tema de Comparando fechas...de nuevo! en el foro de SQL Server en Foros del Web. Buenas a todos, No hay manera, estoy intentando obtener todos los registros que sean anteriores a una fecha que yo pida en un textinput pero ...
  #1 (permalink)  
Antiguo 23/01/2008, 03:02
 
Fecha de Ingreso: septiembre-2007
Mensajes: 106
Antigüedad: 16 años, 8 meses
Puntos: 1
Comparando fechas...de nuevo!

Buenas a todos,

No hay manera, estoy intentando obtener todos los registros que sean anteriores a una fecha que yo pida en un textinput pero creo que me compara en forma de texto. Este es el código a ver si alguno me echa un cable. Uso ASP con SQL Server 2005:

Código:
SELECT * FROM peliculas WHERE fecha_insercion < "& fechaInsercion &";
La fecha de la base de datos la tengo como recomiendan por ahí en formato ANSI, osea 20080123.
  #2 (permalink)  
Antiguo 23/01/2008, 13:16
Avatar de Beakdan  
Fecha de Ingreso: diciembre-2001
Ubicación: Monterrey, Nuevo León
Mensajes: 433
Antigüedad: 22 años, 4 meses
Puntos: 7
Re: Comparando fechas...de nuevo!

La fecha de la base de datos debería ser datetime o smalldatetime. Al comparar es cuando debes usar el formato ISO.

Código:
"SELECT * FROM peliculas WHERE fecha_insercion < '"& fechaInsercion & "';"
donde fechaInsercion = "20080123"
  #3 (permalink)  
Antiguo 24/01/2008, 16:43
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
Re: Comparando fechas...de nuevo!

Tremendo motor de SQL como para que lo sigas dejando vulnerable a un vil ataque de SQL Injection.

SELECT * FROM peliculas WHERE fecha_insercion < @FechaInsercion

Dentro de un SP que reciba el parámetro. Eso te funcionará.
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
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 09:54.