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

Get the month and year now then count the number of rows that are older then 12 months in SQL/Classic ASP

我知道这很简单,但在比较 SQL 中的日期时我一直做噩梦请有人帮我解决这个问题,谢谢。

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

数据库中的时间格式:

2015-08-17 11:10:14.000

我需要将月份和年份与现在进行比较,如果它大于 12 个月,我将增加一个计数。我只需要此参数为真的行数。

我假设你有一个 datetime 字段。

您可以使用DATEDIFF函数,它采用"crossed boundaries"类型,开始日期和结束日期。
你的边界是月份,因为你只对年和月感兴趣,而不是天,所以你可以使用 month 宏。
您的开始时间是 table 行中存储的值。
你的结束时间就是现在。您可以选择SYSDATETIME函数获取系统时间。

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

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