现在获取月份和年份,然后计算SQL / Classic ASP中超过12个月的行数

时间:2015-09-30 10:08:39

标签: sql asp-classic sql-server-2012

我知道这个很容易,但是在比较SQL中的日期时我总是有一个噩梦,请有人帮我解决这个问题,谢谢。

我需要获得现在的月份和年份,然后将其与存储在数据库中的日期进行比较。

数据库中的时间格式:

2015-08-17 11:10:14.000

我需要比较现在的月份和年份,如果它的> 12个月大我会增加一个数。我只需要这个参数为真的行数。

1 个答案:

答案 0 :(得分:1)

我假设您有一个datetime字段。

您可以使用DATEDIFF功能,该功能采用"交叉边界",开始日期和结束日期。
您的边界是月份,因为您只对年份和月份感兴趣,而不是几天,因此您可以使用month宏。
您的开始时间是存储在表格行中的值 你现在的结束时间。您可以选择SYSDATETIME功能获得系统时间。

因此,假设您的表名为mtable且日期时间对象存储在其date字段中,您只需查询:

SELECT COUNT(*) FROM mtable where DATEDIFF(month, mtable.date, (SELECT SYSDATETIME())) > 12