Hola Mariano 

 

La función dateadd me da un error 8116: El tipo de datos smalldatetime no es
valido para el 2 parámetro de la función dateadd

 

 

CREATE procedure Viaje_Reserva

 

@dFecha smalldatetime,

@cHora nvarchar(10)

 

as

SELECT  * 

          begin

          FROM Reservas

          WHERE   fechaSalida>=...@dfecha and fechaSalida< dateadd(dd, @dFecha
,1) order by horasalida

 

          End

GO

 

Otra pregunta hice unos cambios para saber la diferencia de días y si era
mayor a 1 me trajera el registro pero no funciono, entonces hice como el
ejemplo para ver que me devolvía y me  devuelve -6 siendo que la fecha de la
columna fechasalida es 22/01/2009. y la de getdate() es hoy, que puede estar
pasando?

 

 

CREATE procedure Viaje_Reserva

 

as

SELECT  * 

          Begin 

          SELECT   DATEDIFF(day, fechasalida, getdate()) AS dias

          FROM Reservas

          End

GO

           

  Atte, José Luis Agosta

S.J.L. Soft Computación

  _____  

De: [email protected] [mailto:[email protected]] En nombre de Jose Mariano
Alvarez
Enviado el: Jueves, 22 de Enero de 2009 23:57
Para: [email protected]
Asunto: [dbms] Como comprar fecha SQL Server 2000

 

El tipo de dato  smalldateime incluye la hora y la fecha. 

Debe hacer algo asi.

 

clumnafecha >= @parametrofecha and clumnafecha <
dateadd(dd,@parametrofecha,1)


@parametrofecha no debe incluir la hora

 


-- 
-------------------------------- 
Ing. José Mariano Alvarez
SQL Total Consulting
Bogota 3631 P3B
1407 Buenos Aires-Argentina
Movil: (011)-15-4184-7541
Desde el exterior: (+54-911)-4184-7541
[email protected]





2009/1/22 José Luis <[email protected]>

 

Estimados una pregunta, de que forma compara los datos SQL , de izquierda a
derecha o de derecha a Izquierda, tengo esta consulta de reservas, y no se
donde le estoy chingando que si tengo una reserva del día anterior y la hora
es mayor a la actual no me la trae, siendo que si es del día anterior ya
estaría vencida y debería traerla.

 

Este en el procedimiento, he probado ya de varias forma y no sale, este
ejemplo me trae todo hasta los que están por vencer hoy al final del día, y
no solo los de la hora actual, si coloco < o <= no me trae nada.

 

 

CREATE procedure  Viaje_Reserva

 

@dFecha smalldatetime,

@cHora nvarchar(10)

 

as

      begin

          SELECT *

          FROM Reservas

          WHERE  fechaSalida>@dFecha  or ( fechasali...@dfecha and
HoraSalida>=...@chora) 

      end

 

GO

 

 

Desde ya muchas gracias

 

  Atte, José Luis Agosta

S.J.L. Soft Computación

 

Responder a