2014-03-14 194 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(即差异天)。 –