将整型数字转换为大写汉字

Go

--创建函数(该函数来自csdn,作者不详)

create function [dbo].[padleft]

(

    @str varchar(50),   --需要填充的字符串

    @totalwidth int,    --填充后的长度

    @paddingchar char(1)--填充使用的字符

)

returns varchar(1000)  as 

begin

   declare @s varchar(100)

   set @s = @str

   if ( len(@str) < @totalwidth)

      begin

        declare @i int

        declare @strlen int

        declare @temp varchar(100)

        set @i = 1;

        set @strlen = @totalwidth - len(@str)

        set @temp = '';

         while(@i <= @strlen )

              begin

                   set @temp =  @temp + @paddingchar;

                   set @i = @i + 1;

              end

         set @s = @temp + @str

      end

 

   return (@s)

end

 

go

--测试示例

declare @table table (id nvarchar(20))

insert into @table

select '1' union all

select '2' union all

select '3' union all

select '4' union all

select '5' union all

select '6'

 

select dbo.padleft(id,2,'0') as id from @table

 

--运行结果

/*

id

-------

01

02

03

04

05

06

*/

 

go

--创建函数(第二版)(作者:maco_wang)

create function padleftV2

(

    @sql varchar(200),  --需填充的字符串

    @char varchar(4),   --填充使用的字符

    @len int            --填充后的长度

)

returns varchar(200)

as

begin

return (right(replicate(@char,@len)+@sql,@len))

end

go

--测试示例

declare @table table(id int)

insert into @table(id)

select 1 union all

select 3 union all

select 6

 

select dbo.padleftV2(cast(id as varchar),'0',10) as id from @table

--运行结果

/*

id

-------------

0000000001

0000000003

0000000006

*/

原文地址:https://www.cnblogs.com/accumulater/p/6244576.html