我在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
那是,我如何傳遞值的記錄功能 –