首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL;加号+或减号-代替日期(ASP.NET-C#)

SQL;加号+或减号-代替日期(ASP.NET-C#)
EN

Stack Overflow用户
提问于 2012-02-12 08:44:26
回答 3查看 907关注 0票数 0

我正在开发ASP.NET_C#应用程序

我正在从网格视图上的SQL中提取一些日期。

但我不喜欢那些日期,我喜欢看看今天的日期是“加号+”还是“减号-”。

例如

今天的日期是= 11/02/2012

如果来自SQL的日期是07/02/2012,我希望我的网格显示为-4

如果来自SQL的日期是17/02/2012,我希望我的网格显示+6

请帮帮我,我该如何去做…。

这是我正在使用的SQL查询

代码语言:javascript
复制
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.Time11to12

AmountPay.DateUpto是我喜欢的日期,将其视为+或-

有人建议我使用Datediff函数;我使用了datediff函数来计算从出生日期算出的年龄,但我不能计算出来;我如何在这种情况下使用这个函数,提前谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-02-12 15:54:21

代码语言:javascript
复制
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
票数 0
EN

Stack Overflow用户

发布于 2012-02-12 09:06:05

您可以使用Timespan

代码语言:javascript
复制
DateTime oldDate = DateTime.Now.AddDays(-4);
DateTime today = DateTime.Now;

TimeSpan span = oldDate.Subtract(today);
string diff = span.Days.ToString();
票数 1
EN

Stack Overflow用户

发布于 2012-02-12 09:46:00

由于您使用的是MySQL,因此select语句应如下所示:

代码语言:javascript
复制
SELECT DATEDIFF(CURDATE(), MAX(AmountPay.DateUpto)) AS [ PaidUpTo], 
    TimeTable.Name, 
......

DATEDIFF会给出像-1,1,-5这样的值,你的DataGridView应该可以很好地显示这些值。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9245427

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档