显示当前时间之后的记录

时间:2013-06-03 10:00:17

标签: sql-server tsql datetime sql-order-by

其实我想从我的数据库中获取一些记录。有一个字段Time_From。我只想显示那些在DateTime.Now()之后的记录。  但它没有显示,它显示DateTime.Now()

之前和之后的记录
Select * 
from mytable  
where Vehicle_Booking_Date= @Vehicle_Booking_Date 
       AND Time_From > @Time_From order by Time_From"

表格定义(来自评论)

CREATE TABLE [dbo].[mtblVehicle_Booking] 
(
  [Sno]                    [int] IDENTITY(1,1) NOT NULL,
  [Vehicle_Number]         [nvarchar](100) NULL,
  [Vehicle_Booking_Date]   [datetime] NULL,
  [Time_From]              [datetime] NULL,
  [Time_To]                [datetime] NULL,
  [Vehicle_Used_By]        [varchar](100) NULL,
  [Vehicle_Booked_By]      [varchar](100) NULL,
  [Cost_Code]              [nvarchar](50) NULL,
  [Budget_Line]            [nvarchar](50) NULL,
  [Purpose]                [varchar](20) NULL,
  [Destination]            [nvarchar](500) NULL,
  [Trip_Details]           [nvarchar](500) NULL
)
ON [PRIMARY]

2 个答案:

答案 0 :(得分:2)

如果要选择Time_From大于当前时间且日期等于指定日期的所有记录,

Select * 
from mytable  
where Vehicle_Booking_Date= @Vehicle_Booking_Date 
AND Time_From > now() order by Time_From'

答案 1 :(得分:0)

您还没有提到您正在使用的数据库。但概念仍然相同。只需从当前时间减去其他日期时间。如果它大于0,则表示给定的日期时间大于当前日期时间。

示例SQL

Select * 
from mytable  
where Vehicle_Booking_Date= @Vehicle_Booking_Date 
AND DATEDIFF(Time_From,SYSDATETIME()) > 0

希望这有帮助。