为变量设置最大值。认知

Setting a maximum value for a variable. Cognos

我开始在 BI 工作,因为我来自 C# 而不是 SQL/cognus,所以有人给了我一个脑筋急转弯。 我得到一个号码。它可以介于 0 和一个非常大的数字之间。当我得到它并且它低于 1,000 时,一切都很好。但如果它大于或等于 1,000 ,我应该使用 1,000 代替。

我不允许使用条件,我需要它是纯数学,或者如果我不能那么我应该使用有效的方法。

我认为这很简单,只需使用 Min(),但在 cognus 和 SQL 中的工作方式显然不同。

使用LEAST()函数:

Oracle 设置:

CREATE TABLE data ( value ) AS
SELECT    1 FROM DUAL UNION ALL
SELECT  999 FROM DUAL UNION ALL
SELECT 1000 FROM DUAL UNION ALL
SELECT 1001 FROM DUAL;

查询:

SELECT value, LEAST( value, 1000 ) AS output FROM data

输出:

VALUE OUTPUT
----- ------
    1      1
  999    999
 1000   1000
 1001   1000