1 Create Function [dbo].[L2U](@total decimal(18,2),@rindex int)
2 returns nvarchar(1)
3 as
4
5 begin
6
7 declare @i int
8 declare @tmp nvarchar(20)
9 declare @n nvarchar(1)
10
11
12
13 if(@rindex =0)
14 select @n='.'
15 else
16 begin
17
18 select @i=1
19 select @tmp=''
20 while(@i<=len(cast(@total as varchar(100))))
21 begin
22 select @tmp = @tmp + case substring(cast(@total as varchar(100)),@i,1)
23 when '1' then '壹'
24 when '2' then '贰'
25 when '3' then '叁'
26 when '4' then '肆'
27 when '5' then '伍'
28 when '6' then '陆'
29 when '7' then '柒'
30 when '8' then '捌'
31 when '9' then '玖'
32 when '0' then '零'
33 when '.' then '.'
34 else '' end
35 select @i = @i + 1
36 end
37
38 select @tmp = '¥' + @tmp
39
40 if(@rindex>0)
41 select @tmp=substring(cast(@tmp as varchar(100)),1,patindex('%.%',cast(@tmp as varchar(100)))-1)
42
43 else
44 select @tmp=substring(cast(@tmp as varchar(100)),patindex('%.%',cast(@tmp as varchar(100)))+1,
45 len(cast(@tmp as varchar(100)))-patindex('%.%',cast(@tmp as varchar(100))))
46 if(@rindex>0)
47 select @n= substring(@tmp,len(@tmp)-@rindex +1 ,1)
48 else
49 select @n= substring(@tmp,abs(@rindex),1)
50 end
51 return @n
52 end