2013-06-03 80 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'