2014-03-14 193 views
0

我在sql數據庫中存儲了格式爲(dd // mm/yyyy)的varchar列。我想查找系統日期(即,當網站被擊中時)和我以(dd/mm/yyyy)存儲日期的列之間的差異,並在網格視圖中顯示錶格的2列結果。你能幫忙嗎??在SQL查詢中查找日期的差異

+0

您使用的數據庫是? –

+0

@AdamZuckerman:SQL SERVER 2008 –

回答

0

使用DateTime.ParseExact將日期字符串解析爲DateTime變量。然後,您可以將兩個日期作爲日期時間進行比較並獲得差異。

+0

可以ü請準確地說如何把SQL語句,因爲我需要在GridView中建立查詢 –

1

您可以使用DATEDIFF()函數。 語法

DATEDIFF(datepart,startdate,enddate) 

在查詢

SELECT DATEDIFF(day,CAST(dateColumn as datetime),CAST(TodaysdateColumn as datetime)) as dateDiffColumn 

編輯

SELECT DATEDIFF(day,CONVERT(datetime,dateColumn,103),CONVERT(datetime,TodaysDateColumn,103)) as dateDiffColumn 

這給了以天數計的日期差異。 然後,您可以將計算列綁定到Gridview列。

<asp:BoundField Text='<%#Eval("dateDiffColumn")%>' runat="server"> 
+0

我neew找到不同的日期格式爲dd/mm/yyyy,因爲我已經存儲了這個在分貝。還有如何在查詢中以這種格式獲取系統時間。我不會在網格中顯示計算值。而是使用計算的值,我會顯示其他列。那麼我怎麼能把這個放在哪裏? –

+0

日期形式爲dd/mm/yy的區別?考慮2014年2月21日 - 2014年2月25日。應該是02/04/2014?這是不正確的。兩個日期之間的差異以月,日,小時等形式表示。 –

+0

我只想在天數上有所不同。考慮日期我存儲爲15/03/2014和System.Datetime.now 14/03/2014我想15/03/2014-14/03/2014 1(即差異天)。 –