我在SQL Server中创建了用户定义的函数,但不知何故逻辑不正确,它总是执行else语句;请帮忙!SQL Server if else语句无法正常工作
CREATE FUNCTION shipSelection
(@Item_No varchar(20),@itemname varchar(20))
RETURNS varchar(100)
AS
BEGIN
declare @weight float
declare @demention float
declare @density float
declare @result varchar(100)
SET @weight = (SELECT Item_Weight FROM Items
WHERE Item_No = @Item_No AND Name = @itemname)
SET @demention = (SELECT Dimention FROM Items
WHERE Item_No = @Item_No AND Name = @itemname)
SELECT @density = @weight/@demention
IF @density > 100
BEGIN
SET @result = 'LOW DENSITY CAN USE ANY TYPE SHIPS';
END
ELSE IF @density > 300
BEGIN
SET @result = 'MEDIUM DENSITY CAN USE MEDIUM SHIPS';
END
ELSE IF @density > 500
BEGIN
SET @result = 'MEDIUM DENSITY WANT TO USE HUGE SHIPS';
END
ELSE
BEGIN
SET @result = 'DONT WANT TO CARE ABOUT SHIPS TOO SMALL DENSITY ITEM';
END
RETURN @result
END
SELECT
dbo.shipSelection('I010', 'asus x555l') AS TRANSPORT_SHIP_TYPE
你能证明你正在寻找了,请 – Mike
我建议你添加一些调试代码选择的全程记录显示结果,当你填充尺寸和重量 – Mike
那是,我如何传递值的记录功能 –