【发布时间】:2018-05-26 06:22:25
【问题描述】:
我有一个需要在 SQL 中重新创建的 excel 公式: =MIN(150,0.75*MAX(100-0-0/0.9,0))
可以用嵌套的case语句来完成,但是我正在使用一个程序来生成目前不支持的SQL:
select
case
when 150 <
case
when 0.75*100-0-0/0.9 < 0
THEN 0
ELSE 0.75*100-0-0/0.9
END
THEN 150
ELSE 0.75*100-0-0/0.9
END
在不创建存储过程的情况下还有其他方法吗?
请注意:我无法使用 SQL Server 2012 或更高版本的任何新功能。
【问题讨论】:
-
你为什么要用常量做这样的事情?
-
这是一个例子,常量实际上是子查询但是查询看起来很混乱。
-
“我正在使用程序生成 SQL” - 将其名称添加到问题中。
-
它改变了你看待问题的方式。 T-SQL 有 MAX 和 MIN 函数,您可以查找:MIN MAX
标签: sql-server max min