SQL中Int To String,返回指定长度的字符串,不足补0

SQL中将一个INT类型的字符串转换为字符串类型,截取指定长度,不足补上0

/******************************************************************************
**  功能:Int To String,返回指定长度的字符串
**  作者:Danny,Li
**  日期:2010-04-07
*******************************************************************************
**  返回值列表
****************************
**  返回值        涵义
**  -------        -----------------------------------------------------------
**
*******************************************************************************
**  修订日志
****************************
**  日期        作者        修订备注
**  ----------    --------    -----------------------------------------------
**
*******************************************************************************/
CREATE FUNCTION dbo.fun_Int2String
(
    @val int,        -- 欲处理的数字
    @Length int        -- 需要返回的字符串长度,不足用0补全,超过从右边截取指定长度的字符
)
Returns varchar(50)
AS
BEGIN

    DECLARE @Result varchar(50)
    DECLARE @FS_Length int
    SET @FS_Length=@Length
    SET @Result=''
    IF @Length>0
    BEGIN
        WHILE @Length>0
        BEGIN
            SET @Result=@Result+'0'
            SET @Length=@Length-1
        END
        SET @Result = right(@Result+cast(@val as varchar(20)),@FS_Length)
    END
    ELSE
        SET @Result = str(@val)
    RETURN @Result
END

 

posted @ 2012-08-29 22:32  DannyLi  阅读(1315)  评论(0编辑  收藏  举报