你可以使用DATEADD()GETDATE()函数来实现这个需求。

以下是一个示例查询,限制了在每月10号之前才能查询上个月的日期:

SELECT *
FROM your_table
WHERE date_column >= DATEADD(month, DATEDIFF(month, 0, GETDATE())-1, 0)
    AND date_column < DATEADD(month, DATEDIFF(month, 0, GETDATE()), 0)
    AND DAY(GETDATE()) < 10

这个查询中,DATEDIFF(month, 0, GETDATE())返回当前日期与'1900-01-01'之间的月份差,DATEADD(month, DATEDIFF(month, 0, GETDATE())-1, 0)返回上个月的第一天,DATEADD(month, DATEDIFF(month, 0, GETDATE()), 0)返回当前月的第一天,DAY(GETDATE())返回当前日期的天数。所以这个查询限制了只有在每月10号之前,才能查询上个月的日期

SQL server 查询限制每月10号前可查看上月的日期

原文地址: https://www.cveoy.top/t/topic/iZoA 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录