ALTER    FUNCTION [dbo].[UF_GET_SUKI]  (@iValue BIGINT)

    RETURNS VARCHAR(60)

AS

BEGIN

    DECLARE @sValue VARCHAR(40)

    DECLARE @sReturn VARCHAR(60)

    DECLARE @token  VARCHAR(40)

    DECLARE @flag  CHAR(1)

    DECLARE @man  CHAR(1)

    DECLARE @uk  CHAR(1)

    DECLARE @pointer INT

    DECLARE @position  INT

    DECLARE @lastpos  INT

    SET @sValue = CONVERT(VARCHAR(40), @iValue)

    SET @lastpos = LEN(@sValue) - 1

    SET @flag = 'T'

    SET @man = 'T'

    SET @uk = 'T'

    SET @pointer = @lastpos

    SET @position = 0

    SET @sReturn = ''

 

    WHILE (@flag = 'T' AND @pointer >=0)

    BEGIN

        SET  @token = Right(@sValue, 1)

        IF (@token <> '0')

            BEGIN

                 IF(@position = 4 OR @position = 5 OR @position = 6 OR @position = 7) 

                     BEGIN

                          IF(@man = 'T')

                              BEGIN

                                  SET @sReturn = '萬' + @sReturn

                                  SET @man = 'F'

                              END

                     END

                 ELSE

                     IF(@position = 8 OR @position = 9 OR @position = 10 OR @position = 11) 

                         BEGIN

                             IF(@uk = 'T')

                                 BEGIN

                                     SET @sReturn = '億' + @sReturn

                                     SET @uk = 'F'

                                 END

                         END

                 IF(@position % 4 = 0)

                     SET @sReturn = @sReturn

                 ELSE

                     IF(@position % 4 = 1)

                         SET @sReturn = '拾' + @sReturn

                     ELSE

                         IF(@position % 4 = 2)

                             SET @sReturn = '百' + @sReturn

                         ELSE

                             IF(@position % 4 = 3)

                                 SET @sReturn = '阡' + @sReturn

                 

                 SET @sReturn = dbo.UF_GET_SUKI_HAN(@token, 'C') + @sReturn

          END

  

    SET @sValue = SUBSTRING(@sValue, 1, @pointer)

    SET @pointer = @pointer - 1

    SET @position = @position + 1

    END

    RETURN( @sReturn + '원')

END

+ Recent posts