1
set ANSI_NULLS ON
2
set QUOTED_IDENTIFIER ON
3
go
4![](/Images/OutliningIndicators/None.gif)
5
ALTER FUNCTION [dbo].[FN_CONTRACT_MONEY_UPPER] (@n_LowerMoney numeric(15,2),@v_TransType int)
6
RETURNS VARCHAR(200) AS
7
BEGIN
8
Declare @v_LowerStr VARCHAR(200) -- 小写金额
9
Declare @v_UpperPart VARCHAR(200)
10
Declare @v_UpperStr VARCHAR(200) -- 大写金额
11
Declare @i_I int
12![](/Images/OutliningIndicators/None.gif)
13
set @v_LowerStr = LTRIM(RTRIM(ROUND(@n_LowerMoney,-2))) --四舍五入为指定的精度并删除数据左右空格--精确到百位
14
set @i_I = 1
15
set @v_UpperStr = ''
16![](/Images/OutliningIndicators/None.gif)
17
while ( @i_I <= len(@v_LowerStr))
18
begin
19
select @v_UpperPart = case substring(@v_LowerStr,len(@v_LowerStr) - @i_I + 1,1)
20
WHEN '.' THEN '元'
21
WHEN '0' THEN '零'
22
WHEN '1' THEN '壹'
23
WHEN '2' THEN '贰'
24
WHEN '3' THEN '叁'
25
WHEN '4' THEN '肆'
26
WHEN '5' THEN '伍'
27
WHEN '6' THEN '陆'
28
WHEN '7' THEN '柒'
29
WHEN '8' THEN '捌'
30
WHEN '9' THEN '玖'
31
END
32
+
33
case @i_I
34
WHEN 1 THEN '分'
35
WHEN 2 THEN '角'
36
WHEN 3 THEN ''
37
WHEN 4 THEN ''
38
WHEN 5 THEN '拾'
39
WHEN 6 THEN '佰'
40
WHEN 7 THEN '仟'
41
WHEN 8 THEN '万'
42
WHEN 9 THEN '拾'
43
WHEN 10 THEN '佰'
44
WHEN 11 THEN '仟'
45
WHEN 12 THEN '亿'
46
WHEN 13 THEN '拾'
47
WHEN 14 THEN '佰'
48
WHEN 15 THEN '仟'
49
WHEN 16 THEN '万'
50
ELSE ''
51
END
52
set @v_UpperStr = @v_UpperPart + @v_UpperStr
53
set @i_I = @i_I + 1
54
end
55![](/Images/OutliningIndicators/None.gif)
56
if ( 0 = @v_TransType)
57
begin
58
set @v_UpperStr = REPLACE(@v_UpperStr,'零拾','零')
59
set @v_UpperStr = REPLACE(@v_UpperStr,'零佰','零')
60
set @v_UpperStr = REPLACE(@v_UpperStr,'零仟','零')
61
set @v_UpperStr = REPLACE(@v_UpperStr,'零零零','零')
62
set @v_UpperStr = REPLACE(@v_UpperStr,'零零','零')
63
set @v_UpperStr = REPLACE(@v_UpperStr,'零角零分','整')
64
set @v_UpperStr = REPLACE(@v_UpperStr,'零分','整')
65
set @v_UpperStr = REPLACE(@v_UpperStr,'零角','零')
66
set @v_UpperStr = REPLACE(@v_UpperStr,'零亿零万零元','亿元')
67
set @v_UpperStr = REPLACE(@v_UpperStr,'亿零万零元','亿元')
68
set @v_UpperStr = REPLACE(@v_UpperStr,'零亿零万','亿')
69
set @v_UpperStr = REPLACE(@v_UpperStr,'零万零元','万元')
70
set @v_UpperStr = REPLACE(@v_UpperStr,'万零元','万元')
71
set @v_UpperStr = REPLACE(@v_UpperStr,'零亿','亿')
72
set @v_UpperStr = REPLACE(@v_UpperStr,'零万','万')
73
set @v_UpperStr = REPLACE(@v_UpperStr,'零元','元')
74
set @v_UpperStr = REPLACE(@v_UpperStr,'零零','零')
75
end
76![](/Images/OutliningIndicators/None.gif)
77
-- 对壹元以下的金额的处理
78
if ( '元' = substring(@v_UpperStr,1,1))
79
begin
80
set @v_UpperStr = substring(@v_UpperStr,2,(len(@v_UpperStr) - 1))
81
end
82![](/Images/OutliningIndicators/None.gif)
83
if ( '零' = substring(@v_UpperStr,1,1))
84
begin
85
set @v_UpperStr = substring(@v_UpperStr,2,(len(@v_UpperStr) - 1))
86
end
87![](/Images/OutliningIndicators/None.gif)
88
if ( '角' = substring(@v_UpperStr,1,1))
89
begin
90
set @v_UpperStr = substring(@v_UpperStr,2,(len(@v_UpperStr) - 1))
91
end
92![](/Images/OutliningIndicators/None.gif)
93
if ( '分' = substring(@v_UpperStr,1,1))
94
begin
95
set @v_UpperStr = substring(@v_UpperStr,2,(len(@v_UpperStr) - 1))
96
end
97![](/Images/OutliningIndicators/None.gif)
98
if ('整' = substring(@v_UpperStr,1,1))
99
begin
100
set @v_UpperStr = '零元整'
101
end
102![](/Images/OutliningIndicators/None.gif)
103
return replace(replace(replace(replace(replace(replace(@v_UpperStr,'零角',''),'零分',''),'零元',''),'零拾',''),'零佰',''),'零仟','')+'圆整'
104
END
![](/Images/OutliningIndicators/None.gif)
2
![](/Images/OutliningIndicators/None.gif)
3
![](/Images/OutliningIndicators/None.gif)
4
![](/Images/OutliningIndicators/None.gif)
5
![](/Images/OutliningIndicators/None.gif)
6
![](/Images/OutliningIndicators/None.gif)
7
![](/Images/OutliningIndicators/None.gif)
8
![](/Images/OutliningIndicators/None.gif)
9
![](/Images/OutliningIndicators/None.gif)
10
![](/Images/OutliningIndicators/None.gif)
11
![](/Images/OutliningIndicators/None.gif)
12
![](/Images/OutliningIndicators/None.gif)
13
![](/Images/OutliningIndicators/None.gif)
14
![](/Images/OutliningIndicators/None.gif)
15
![](/Images/OutliningIndicators/None.gif)
16
![](/Images/OutliningIndicators/None.gif)
17
![](/Images/OutliningIndicators/None.gif)
18
![](/Images/OutliningIndicators/None.gif)
19
![](/Images/OutliningIndicators/None.gif)
20
![](/Images/OutliningIndicators/None.gif)
21
![](/Images/OutliningIndicators/None.gif)
22
![](/Images/OutliningIndicators/None.gif)
23
![](/Images/OutliningIndicators/None.gif)
24
![](/Images/OutliningIndicators/None.gif)
25
![](/Images/OutliningIndicators/None.gif)
26
![](/Images/OutliningIndicators/None.gif)
27
![](/Images/OutliningIndicators/None.gif)
28
![](/Images/OutliningIndicators/None.gif)
29
![](/Images/OutliningIndicators/None.gif)
30
![](/Images/OutliningIndicators/None.gif)
31
![](/Images/OutliningIndicators/None.gif)
32
![](/Images/OutliningIndicators/None.gif)
33
![](/Images/OutliningIndicators/None.gif)
34
![](/Images/OutliningIndicators/None.gif)
35
![](/Images/OutliningIndicators/None.gif)
36
![](/Images/OutliningIndicators/None.gif)
37
![](/Images/OutliningIndicators/None.gif)
38
![](/Images/OutliningIndicators/None.gif)
39
![](/Images/OutliningIndicators/None.gif)
40
![](/Images/OutliningIndicators/None.gif)
41
![](/Images/OutliningIndicators/None.gif)
42
![](/Images/OutliningIndicators/None.gif)
43
![](/Images/OutliningIndicators/None.gif)
44
![](/Images/OutliningIndicators/None.gif)
45
![](/Images/OutliningIndicators/None.gif)
46
![](/Images/OutliningIndicators/None.gif)
47
![](/Images/OutliningIndicators/None.gif)
48
![](/Images/OutliningIndicators/None.gif)
49
![](/Images/OutliningIndicators/None.gif)
50
![](/Images/OutliningIndicators/None.gif)
51
![](/Images/OutliningIndicators/None.gif)
52
![](/Images/OutliningIndicators/None.gif)
53
![](/Images/OutliningIndicators/None.gif)
54
![](/Images/OutliningIndicators/None.gif)
55
![](/Images/OutliningIndicators/None.gif)
56
![](/Images/OutliningIndicators/None.gif)
57
![](/Images/OutliningIndicators/None.gif)
58
![](/Images/OutliningIndicators/None.gif)
59
![](/Images/OutliningIndicators/None.gif)
60
![](/Images/OutliningIndicators/None.gif)
61
![](/Images/OutliningIndicators/None.gif)
62
![](/Images/OutliningIndicators/None.gif)
63
![](/Images/OutliningIndicators/None.gif)
64
![](/Images/OutliningIndicators/None.gif)
65
![](/Images/OutliningIndicators/None.gif)
66
![](/Images/OutliningIndicators/None.gif)
67
![](/Images/OutliningIndicators/None.gif)
68
![](/Images/OutliningIndicators/None.gif)
69
![](/Images/OutliningIndicators/None.gif)
70
![](/Images/OutliningIndicators/None.gif)
71
![](/Images/OutliningIndicators/None.gif)
72
![](/Images/OutliningIndicators/None.gif)
73
![](/Images/OutliningIndicators/None.gif)
74
![](/Images/OutliningIndicators/None.gif)
75
![](/Images/OutliningIndicators/None.gif)
76
![](/Images/OutliningIndicators/None.gif)
77
![](/Images/OutliningIndicators/None.gif)
78
![](/Images/OutliningIndicators/None.gif)
79
![](/Images/OutliningIndicators/None.gif)
80
![](/Images/OutliningIndicators/None.gif)
81
![](/Images/OutliningIndicators/None.gif)
82
![](/Images/OutliningIndicators/None.gif)
83
![](/Images/OutliningIndicators/None.gif)
84
![](/Images/OutliningIndicators/None.gif)
85
![](/Images/OutliningIndicators/None.gif)
86
![](/Images/OutliningIndicators/None.gif)
87
![](/Images/OutliningIndicators/None.gif)
88
![](/Images/OutliningIndicators/None.gif)
89
![](/Images/OutliningIndicators/None.gif)
90
![](/Images/OutliningIndicators/None.gif)
91
![](/Images/OutliningIndicators/None.gif)
92
![](/Images/OutliningIndicators/None.gif)
93
![](/Images/OutliningIndicators/None.gif)
94
![](/Images/OutliningIndicators/None.gif)
95
![](/Images/OutliningIndicators/None.gif)
96
![](/Images/OutliningIndicators/None.gif)
97
![](/Images/OutliningIndicators/None.gif)
98
![](/Images/OutliningIndicators/None.gif)
99
![](/Images/OutliningIndicators/None.gif)
100
![](/Images/OutliningIndicators/None.gif)
101
![](/Images/OutliningIndicators/None.gif)
102
![](/Images/OutliningIndicators/None.gif)
103
![](/Images/OutliningIndicators/None.gif)
104
![](/Images/OutliningIndicators/None.gif)