我正在开发ASP.NET_C#应用程序
我正在从网格视图上的SQL中提取一些日期。
但我不喜欢那些日期,我喜欢看看今天的日期是“加号+”还是“减号-”。
例如
今天的日期是= 11/02/2012
如果来自SQL的日期是07/02/2012,我希望我的网格显示为-4
或
如果来自SQL的日期是17/02/2012,我希望我的网格显示+6
请帮帮我,我该如何去做…。
这是我正在使用的SQL查询
SELECT MAX(AmountPay.DateUpto) AS [ PaidUpTo], TimeTable.Name, TimeTable.Ref, TimeTable.Time11to12 FROM AmountPay FULL OUTER JOIN TimeTable ON AmountPay.Ref = TimeTable.Ref WHERE (TimeTable.Time11to12 = @Time11to12) GROUP BY TimeTable.Name, TimeTable.Ref, TimeTable.Time11to12AmountPay.DateUpto是我喜欢的日期,将其视为+或-
有人建议我使用Datediff函数;我使用了datediff函数来计算从出生日期算出的年龄,但我不能计算出来;我如何在这种情况下使用这个函数,提前谢谢
发布于 2012-02-12 15:54:21
SELECT DATEDIFF(day,GetDate(), MAX(AmountPay.DateUpto)) AS [ PaidUpTo], TimeTable.Name, TimeTable.Ref, TimeTable.Time11to12 FROM AmountPay FULL OUTER JOIN TimeTable ON AmountPay.Ref = TimeTable.Ref WHERE (TimeTable.Time11to12 = @Time11to12) GROUP BY TimeTable.Name, TimeTable.Ref, TimeTable.Time11to12发布于 2012-02-12 09:06:05
您可以使用Timespan
DateTime oldDate = DateTime.Now.AddDays(-4);
DateTime today = DateTime.Now;
TimeSpan span = oldDate.Subtract(today);
string diff = span.Days.ToString();发布于 2012-02-12 09:46:00
由于您使用的是MySQL,因此select语句应如下所示:
SELECT DATEDIFF(CURDATE(), MAX(AmountPay.DateUpto)) AS [ PaidUpTo],
TimeTable.Name,
......DATEDIFF会给出像-1,1,-5这样的值,你的DataGridView应该可以很好地显示这些值。
https://stackoverflow.com/questions/9245427
复制相似问题