Sql 选择基于当前日期的值,该日期距离某个日期超过1年、2年和3年
你好 我希望有人能帮助我一小行代码。我已经建立了一份销售代表佣金报告,对于销售代表赚取佣金的每个项目,都有一个销售代表作为新业务首次获得该项目的日期,例如,项目a于2018年1月1日开始 他们的佣金细分意味着他们在开始日期后的第一年(2018年1月1日<当前日期1年)获得7%,如果(2018年1月1日>当前日期1年<当前日期2年)获得5%,如果(2018年1月1日>当前日期2年<当前日期3年)获得2.5% 我已经为整个报告编写了select语句,但我正在努力寻找有关这方面的任何信息 我假设我需要一个Sql 选择基于当前日期的值,该日期距离某个日期超过1年、2年和3年,sql,sql-server,date,Sql,Sql Server,Date,你好 我希望有人能帮助我一小行代码。我已经建立了一份销售代表佣金报告,对于销售代表赚取佣金的每个项目,都有一个销售代表作为新业务首次获得该项目的日期,例如,项目a于2018年1月1日开始 他们的佣金细分意味着他们在开始日期后的第一年(2018年1月1日当前日期1年当前日期2年
CASE
语句,但我确实告诉SQL检查当前日期是否少于一年,或者超过一年,但少于两年,等等
非常感谢您的帮助 我想你可以这样使用
CASE
:
SELECT
CASE
WHEN CURRENT_TIMESTAMP >= DATEADD(YEAR, 2, startdate) THEN 2.5
WHEN CURRENT_TIMESTAMP >= DATEADD(YEAR, 1, startdate) THEN 5.0
ELSE 7.0
END AS commission
请注意,病例已分类。3年以上的病例如何?请发布一些样本数据和预期结果。从3年以上开始,comm保持在2.5%不变。