永发信息网

如何在 Sql Server 中实现货币格式的相关推荐

答案:1  悬赏:40  手机版
解决时间 2021-01-25 13:51
如何在 Sql Server 中实现货币格式的相关推荐
最佳答案

Create FUNCTION fn_ChnMoney(@decNum decimal(18,2))
RETURNS varchar(200)
AS
BEGIN

DECLARE @chvNum varchar(200)
DECLARE @chvMoney varchar(200)
DECLARE @chvTemp varchar(200)
DECLARE @intIntLen int
DECLARE @intI int
DECLARE @chvTempI varchar(200)
DECLARE @chvReturn varchar(200)
DECLARE @sFsFlag int

SET @sFsFlag = 0

IF @decNum=0
SET @chvReturn = '零'
Else
BEGIN

IF @decNum<0
BEGIN
SET @sFsFlag = 1
SET @decNum = ABS(@decNum)
END

SET @chvTemp=convert(varchar(200),Round(@decNum*100,0))
IF charindex('.',@chvTemp,1)>0
SET @chvNum=left(@chvTemp,charindex('.',@chvTemp,1)-1)
ELSE
SET @chvNum=@chvTemp

SET @intIntLen=len(@chvNum)

SET @chvMoney=''
Set @chvReturn = ''
SET @intI=1

WHILE @intI <= @intIntLen
BEGIN
SET @chvTempI = substring(@chvNum,@intIntLen-@intI+1,1)
SET @chvMoney = substring('零壹贰叁肆伍陆柒捌玖',convert(int,@chvTempI)+1,1) + substring('分角元拾佰仟万拾佰仟亿拾佰仟兆拾佰仟京拾佰仟',(@intI-1)+1,1)
SET @intI = @intI + 1

SET @chvReturn = @chvMoney + @chvReturn
END
END

SET @chvReturn=Replace(@chvReturn,'零仟','零')
SET @chvReturn=Replace(@chvReturn,'零佰','零')
SET @chvReturn=Replace(@chvReturn,'零拾','零')

while charindex('零零',@chvReturn,1)>0
SET @chvReturn=Replace(@chvReturn,'零零','零')

SET @chvReturn=Replace(@chvReturn,'零京','京')
SET @chvReturn=Replace(@chvReturn,'零兆','兆')
SET @chvReturn=Replace(@chvReturn,'零亿','亿')
SET @chvReturn=Replace(@chvReturn,'零万','万')

SET @chvReturn=Replace(@chvReturn,'京兆','京')
SET @chvReturn=Replace(@chvReturn,'京亿','京')
SET @chvReturn=Replace(@chvReturn,'京万','京')
SET @chvReturn=Replace(@chvReturn,'兆亿','兆')
SET @chvReturn=Replace(@chvReturn,'兆万','兆')
SET @chvReturn=Replace(@chvReturn,'亿万','亿')

SET @chvReturn=Replace(@chvReturn,'零元','元')
SET @chvReturn=Replace(@chvReturn,'零角零分','整')
SET @chvReturn=Replace(@chvReturn,'零角','零')
SET @chvReturn=Replace(@chvReturn,'零分','整')
SET @chvReturn=LTRIm(RTRIm(@chvReturn))

IF @sFsFlag = 1
SET @chvReturn = '负' + Ltrim(@chvReturn)

RETURN @chvReturn

END
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
全网通营业厅(青湖镇牛石路)地址好找么,我有
结婚姐妹团向兄弟团讨红包说得吉祥话
靓点美容养生馆地址好找么,我有些事要过去
序列号981420的对应号是多少?手机锁住了。求
刺猬属于什么科
如何培养学生计算能力和数感
喜欢玩角色扮演吗?反正我不喜欢。
首套房免契税需要具备什么条件的
下列各项进项税额中,计算增值税时准予从销项
我女朋友生孩子,生孩子无法忍受痛苦,就啊啊
js28f320是什么芯片
“我想有很多钱 ”韩语怎么说?
桐油可以和其他油漆混合用吗?
苍南家庭公积金贷款50万,公积金账户余额要多
滴滴打车一个月用多少流量
推荐资讯
ARK怎么玩好 叫过程 新手刚刚买的游戏
戴尔笔记本重装系统用什么重装好?
不锈钢波纹管Dn15是什么意思?
我的空间里有我和我的微信网友的照片,我是中
支付宝有权利替我从银行卡里自动扣款吗?
有谁知道这个图片有小女孩的吗 是情侣图片吗
DNF容易爆的值钱卡片出处
深圳庶挡车牌号怎么处理
标志307和爱丽舍的发动机一样吗???
我有两本宋 科举全国各地状元试卷,想请金运
Where to get the materials and how to
山东省农村信用社(温馨路)地址好找么,我有些
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?