CREATE FUNCTION GetChineseNum (@inputId money)
RETURNS Nvarchar(4000) AS
BEGIN
declare @rV Nvarchar(4000)
declare @tmpstr Nvarchar(4000),@M Nvarchar(4000),@K Nvarchar(4000),@I numeric(38,2),
@J int,@lastJ int,@LastV Nvarchar(10),@LastF Nvarchar(10),@LastE Nvarchar(10),@LastVE Nvarchar(10)
set @I=@inputId
select @tmpstr=N'零壹贰叁肆伍陆柒捌玖分角元拾佰仟万拾佰仟亿拾佰仟',@K=N'',@M=cast(cast(@I*100 as bigint) as varchar(800)),@J=len(@M),@LastVE=N''
while @J>=1
begin
set @LastF=substring(@tmpstr, cast(substring(@m,len(@M)-@j+1,1) as bigint)+1,1)
set @LastE=substring(@tmpstr,10+@J,1)
if @LastF<>N'零'
begin
if @LastV=N'零'
if (@lastJ>=7 and @j<=7) or (@lastJ>=11 and @j<=11 ) or (@lastJ>=3 and @j<=2)
if @J<=2 and @lastJ<=3
set @K=@K+@LastVE+@LastF+@LastE
else
set @K=@K+@LastVE+@LastV+@LastF+@LastE
else
set @K=@K+@LastV+@LastF+@LastE
else
set @K=@K+@LastF+@LastE
select @lastJ=@j,@LastVE=N''
end
else
begin
if @LastVE=N'' and @lastJ>11 set @LastVE=N'亿'
if @LastVE=N'' and @lastJ>7 and @lastJ<10 set @LastVE=N'万'
if @LastVE=N'' and @lastJ>3 and @lastJ<6 set @LastVE=N'元'
if @LastV<>N'零' set @lastJ=@j
end
set @LastV=@LastF
set @J=@J-1
end
if @lastJ>=3 set @K=@K+N'元'
if @lastJ>=2 set @K=@K+N'整'
if object_id('py') is not null drop function py
go
create function py(@input nvarchar(1000)) returns varchar(1000) with encryption as
begin
declare @output varchar(1000),@p int,@chn nchar(1)
set @output=''
set @p=1
while @p<=len(@input)
begin
set @chn=substring(@input,@p,1)
set @output=@output+ case when @chn>'阼' COLLATE Chinese_PRC_CI_AS then '.'
when @chn<'吖' COLLATE Chinese_PRC_CI_AS then '.'
when @chn>='匝' COLLATE Chinese_PRC_CI_AS then 'z'
when @chn>='鸭' COLLATE Chinese_PRC_CI_AS then 'y'
when @chn>='熙' COLLATE Chinese_PRC_CI_AS then 'x'
when @chn>='娃' COLLATE Chinese_PRC_CI_AS then 'w'
when @chn>='獭' COLLATE Chinese_PRC_CI_AS then 't'
when @chn>='飒' COLLATE Chinese_PRC_CI_AS then 's'
when @chn>='蚺' COLLATE Chinese_PRC_CI_AS then 'r'
when @chn>='旗' COLLATE Chinese_PRC_CI_AS then 'q'
when @chn>='趴' COLLATE Chinese_PRC_CI_AS then 'p'
when @chn>='噢' COLLATE Chinese_PRC_CI_AS then 'o'
when @chn>='拿' COLLATE Chinese_PRC_CI_AS then 'n'
when @chn>='妈' COLLATE Chinese_PRC_CI_AS then 'm'
when @chn>='啦' COLLATE Chinese_PRC_CI_AS then 'l'
when @chn>='咖' COLLATE Chinese_PRC_CI_AS then 'k'
when @chn>='鸡' COLLATE Chinese_PRC_CI_AS then 'j'
when @chn>='铪' COLLATE Chinese_PRC_CI_AS then 'h'
when @chn>='旮' COLLATE Chinese_PRC_CI_AS then 'g'
when @chn>='发' COLLATE Chinese_PRC_CI_AS then 'f'
when @chn>='垩' COLLATE Chinese_PRC_CI_AS then 'e'
when @chn>='沓' COLLATE Chinese_PRC_CI_AS then 'd'
when @chn>='礤' COLLATE Chinese_PRC_CI_AS then 'c'
when @chn>='疤' COLLATE Chinese_PRC_CI_AS then 'b'
else 'a'
end
set @p=@p+1
end
return @output
end