我遇到了我的SQL命令問題。該方法接收參數值,但總是返回最後一個if的值。如果不是正確的SQL命令
我該如何解決這個問題?案件?
謝謝
ALTER FUNCTION [dbo].[f_ResponsavelRisco] (@idDiretoria AS INT = NULL, @idArea AS INT = NULL, @idSubArea AS INT = NULL)
RETURNS INT AS
BEGIN
DECLARE @RETORNO INT
SET @RETORNO = 0
IF ISNULL(@idDiretoria,'') <> ''
SET @RETORNO = @idDiretoria
IF ISNULL(@idArea,'') <> ''
SET @RETORNO = @idArea
IF ISNULL(@idSubArea,'') <> ''
SET @RETORNO = @idSubArea
RETURN @RETORNO
END
不要工作。如果參數是@idDiretoria工作的權利,但如果參數@idArea不起作用。
ALTER FUNCTION [dbo].[f_ResponsavelRisco] (@idDiretoria AS INT = NULL, @idArea AS INT = NULL, @idSubArea AS INT = NULL)
RETURNS INT AS
BEGIN
DECLARE @RETORNO INT
SET @RETORNO = 0
IF @idDiretoria IS NOT NULL
SET @RETORNO = @idDiretoria
IF @idArea IS NOT NULL
SET @RETORNO = @idArea
IF @idSubArea IS NOT NULL
SET @RETORNO = @idSubArea
RETURN COALESCE(@idDiretoria, @idArea, @idSubArea, 0)
END
你是怎麼調用這個函數的? –
'RETURN COALESCE(@idDiretoria,@idArea,@idSubArea)''沒有'if's。 – danihp
@danihp - 如果任何參數都是空字符串,則具有不同的語義。 –