반응형

/********************************************************************************************
-- Title : [2k5] 영단어 첫글자만 대문자로 변환
-- Reference : blog.naver.com/webman21
-- Key word : charindex ltrim lower upper
********************************************************************************************/
CREATE FUNCTION dbo.fn_TitleCase
(
    @STR AS VARCHAR(8000)
)
RETURNS VARCHAR(8000)
AS
BEGIN
    DECLARE @this_str AS VARCHAR(8000);
    DECLARE @word_str AS VARCHAR(5000);
    DECLARE @spc INT;
 
    SET @this_str = '';
    SET @STR = LTRIM(RTRIM(@STR));
   
    WHILE LEN(@STR) > 0
    BEGIN
        IF (CHARINDEX(' ', @STR) = 0)
            SET @spc = LEN(@STR);
        ELSE
            SET @spc = CHARINDEX(' ', @STR);
           
        SET @word_str = LTRIM(RTRIM(LEFT(@STR, @spc)));
        SET @STR = LTRIM(RTRIM(RIGHT(@STR, (LEN(@STR)-@spc))));
       
        SET @this_str = RTRIM(LTRIM(@this_str + ' ' + (UPPER(LEFT(@word_str,1))
                      + LOWER(RIGHT(@word_str,(LEN(@word_str)-1))))));
    END;
 
    RETURN (@this_str);
END;
GO

반응형

+ Recent posts