简书链接:sqlserver封装函数实现取最小值
文章字数:54,阅读全文大约需要1分钟
有一个需求是计算百分比,由于时间严重超出
(current/total)*100 大于100 ,故 mindecimal(150,100)得到100

1
2
3
4
5
6
7
8
9
10
11
12
13
CREATE FUNCTION dbo.MyMinDecimal(@a DECIMAL(18,2))
RETURNS DECIMAL(18,2)
AS
BEGIN
DECLARE @result DECIMAL(18,2);

IF @a > 100
SET @result = 100.00;
ELSE
SET @result = @a;

RETURN @result;
END;

用法
select dbname.db.MyMinDecimal(a.value,100) from xx