【发布时间】:2018-09-05 11:34:47
【问题描述】:
我有下表:
用户
- 用户 ID
- 公司ID
- 姓名
- 活跃
- 加入日期
- Date_Left
我正在尝试获取可计费用户的查询,标准是:
- 加入计费月份的用户不会被视为计费用户。
- 在计费当月离开的用户是计费用户。
我有以下疑问:
SELECT * from user u WHERE CompanyID = 1205
AND (p.IsActive = 1 AND MONTH(p.Date_Joined) != MONTH(GETDATE())
OR (p.is_active = 0 AND MONTH(p.Date_Left) = MONTH(GETDATE())
问题是此查询不起作用,因为它不检查用户的年份(2017 年 9 月加入的用户不被视为可计费,即使他们应该在 2017 年而不是今年加入,不应将 2018 年 9 月创建的人员视为可计费)。
如何实现年份或优化我的查询?
【问题讨论】:
标签: sql sql-server tsql date datetime