Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 选择基于当前日期的值,该日期距离某个日期超过1年、2年和3年_Sql_Sql Server_Date - Fatal编程技术网

Sql 选择基于当前日期的值,该日期距离某个日期超过1年、2年和3年

Sql 选择基于当前日期的值,该日期距离某个日期超过1年、2年和3年,sql,sql-server,date,Sql,Sql Server,Date,你好 我希望有人能帮助我一小行代码。我已经建立了一份销售代表佣金报告,对于销售代表赚取佣金的每个项目,都有一个销售代表作为新业务首次获得该项目的日期,例如,项目a于2018年1月1日开始 他们的佣金细分意味着他们在开始日期后的第一年(2018年1月1日当前日期1年当前日期2年

你好

我希望有人能帮助我一小行代码。我已经建立了一份销售代表佣金报告,对于销售代表赚取佣金的每个项目,都有一个销售代表作为新业务首次获得该项目的日期,例如,项目a于2018年1月1日开始

他们的佣金细分意味着他们在开始日期后的第一年(2018年1月1日<当前日期1年)获得7%,如果(2018年1月1日>当前日期1年<当前日期2年)获得5%,如果(2018年1月1日>当前日期2年<当前日期3年)获得2.5%

我已经为整个报告编写了select语句,但我正在努力寻找有关这方面的任何信息

我假设我需要一个
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%不变。