[MS SQL] 사용자 정의 함수를 만들었는데 인자값이 1자리만 입력되네요.. 0 1 205

by Eater999 [SQLServer] MSSQL Function [2019.08.13 11:41:53]


1.PNG (9,508Bytes)

안녕하세요 어제 MS SQL을 설치하고 Function을 생성하는 중에 문제가 생겨 글을 남깁니다.

Function은 우여곡절 끝에 생성했지만, Fuction 실행 시 원하는 데이터가 출력이 안되어 확인해보니 파라미터(varchar 타입)로 지정한 값이 1자리만 입력되는것 같습니다.

EX) select msiplan.dbo.SF_IECT0002('BCD', 'Abc')를 실행시킬 때 Function으로 'BCD'가 출력될꺼라고 생각했는데 출력된 결과값은 'B'만 출력이 됬습니다.

아래에 Function 스크립트를 남깁니다. 도와주세요 ㅜ

 

USE [msiplan]
GO

ALTER FUNCTION DBO.SF_IECT0002(@P_COML_COD AS VARCHAR(20), @P_COM_COD AS VARCHAR(20))
RETURNS VARCHAR
AS

BEGIN
        DECLARE @P_RETURN AS VARCHAR(100)
       
        --SET @P_RETURN = ''

         SELECT @P_RETURN = COM_NM
          FROM DBO.IECT0004
         WHERE COML_COD = @P_COML_COD
             AND COM_COD  = @P_COM_COD


    RETURN @P_RETURN

END;

GO

 

 

by 미소져 [2019.08.13 17:25:09]

아래와 같이 수정해보시면 될 것 같네요

ALTER FUNCTION DBO.SF_IECT0002(@P_COML_COD AS VARCHAR(20), @P_COM_COD AS VARCHAR(20))
RETURNS VARCHAR(100)

결국 입력이 문제가 아니고, 출력이 문제

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입