以下はMIN関数を使用したコードスニペットです。以下のコードを実行すると、エラーが発生します。MIN関数は1つの引数を必要とします
CREATE FUNCTION [dbo].[FN_TempCalcTransportExemp]
(
@EmployeeID varchar(20),
@PayElement varchar(20),
@Month varchar(10),
@FinYear varchar(10)
)
RETURNS decimal
AS
BEGIN
DECLARE @TarnsportExemption decimal(18,2) = 0
DECLARE @TDSIsFullExemption bit
DECLARE @PermanentPhysicalDisability decimal(18,2) = 0
DECLARE @UsingComapnyCar bit
DECLARE @Conveyance decimal(18,2) = 0
DECLARE @TransYes decimal(18,2) = 0
DECLARE @TransNo decimal(18,2) = 0
DECLARE @MinConveyance decimal(18,2) = 0
DECLARE @MinTransport decimal(18,2) = 0
SELECT
@TDSIsFullExemption = TDSDetailsFullExemption,
@TransYes = TDSDetailsYes,
@TransNo = TDSDetailsNo
FROM
tbl_TDSSettingDetails
WHERE
TDSSettingsDetailID = 2
SELECT
@Conveyance = @Month
FROM
tbl_Income
WHERE
EmployeeID = @EmployeeID
AND Element = @PayElement
AND FinancialYear = @FinYear
SELECT
@UsingComapnyCar = UsingCompanyCar,
@PermanentPhysicalDisability = PermanentPhysicalDisability
FROM
tbl_Employee_TDS
WHERE
EmployeeID = @EmployeeID
AND TDSFinancialYear = @FinYear
IF (@TDSIsFullExemption = 1)
BEGIN
SET @TarnsportExemption = @Conveyance
END
ELSE
BEGIN
IF (@UsingComapnyCar = 1)
BEGIN
IF (@Conveyance = 0)
BEGIN
SET @MinConveyance = 0
END
ELSE
BEGIN
SET @MinConveyance = @Conveyance
END
IF (@PermanentPhysicalDisability = 1)
BEGIN
SET @MinTransport = @TransYes
END
ELSE
BEGIN
SET @MinTransport = @TransNo
END
SET @TarnsportExemption = MIN(@MinConveyance, @MinTransport)
END
ELSE
BEGIN
SET @TarnsportExemption = 0
END
END
RETURN @TarnsportExemption
END
エラーメッセージ:MIN関数は、1つの引数(複数可)が必要です
メッセージ174、レベル15、状態1、プロシージャFN_TempCalcTransportExemp、ライン 。
エラーが話しているASあなたのコードのこの行を 'set @ TarnsportExemption = MIN(@ MinConveyance、@ MinTransport)'と呼びます。 'MIN'関数には1つ必要です。あなたは2つを渡しました。 –
この 'Select @ TarnsportExemption = @MinConveyance <@MinTransportの場合のケース @MinConveyance Else @MinTransport End ' – crowchirp