2013-06-03 82 views
0

其实我想从我的数据库中记录一些记录。有一个字段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] 
+0

你可以提供你的表结构? –

+0

如果您将'Select *'更改为'Select *,@ Time_From',您会得到什么值给@ @ Time_From? –

+0

CREATE TABLE [DBO]。[mtblVehicle_Booking]( \t [斯诺] [INT] IDENTITY(1,1)NOT NULL, \t [Vehicle_Number] [nvarchar的](100)NULL, \t [Vehicle_Booking_Date] [日期时间] NULL , \t [Time_From] [日期时间] NULL, \t [Time_To] [日期时间] NULL, \t [Vehicle_Used_By] [VARCHAR](100)NULL, \t [Vehicle_Booked_By] [VARCHAR](100)NULL, \t [ [50] NULL, \t [Pur_Parr] [500]空值, \t [Trip_Details] [nvarchar](500)NULL )ON [PRIMARY] – Gaurav

回答

0

你没有提到你使用的数据库。但概念保持不变。只需要减去当前时间的其他日期时间。如果它大于0,则表示给定日期时间大于当前日期时间。

样品SQL

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

希望这有助于。

2

如果你想选择其Time_From比当前时间和日期大于等于指定日期的所有记录,

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