我开始从事BI工作,因为我来自C#而不是SQL / cognus,我得到了一个脑筋急转弯。 我得到一个号码。它可以介于0和非常大的数字之间。当我得到它并且它低于1,000时,一切都很花花公子。但如果它大于或等于1,000,我应该使用1,000而不是。
我不允许使用条件,我需要它是纯粹的数学,或者如果我不能,那么我应该使用有效的方法。
我认为这很简单,只需使用Min(),但显然在cognus和SQL中的工作方式不同。
答案 0 :(得分:0)
使用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