一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Sql Server - SQL貨幣數字轉英文字符語句

SQL貨幣數字轉英文字符語句

2019-11-18 14:59mssql教程網 Sql Server

SQL貨幣數字轉英文字符,需要的朋友可以參考下。

代碼如下:

Alter Function UDF_Util_ConvertCurrencyToEnglish 

@Money Numeric(15,2), 
@Unit varchar(10)='BAHT' 
) Returns Varchar(400) 
As 
/* 
/// <summary> 
/// Convert money to english 
/// </summary> 
/// <param name="@Money">e.g. 1234.56 </param> 
/// <param name="@Unit">e.g. 'BAHT' </param> 
/// <returns>english money</returns> 
*/ 
Begin 
DECLARE @result Varchar(400) 
IF @Money=0 
Set @result= 'ZERO '+@Unit 
Else 
Begin 
Declare @i Int, @hundreds Int, @tenth Int, @one Int, @thousand Int,@million Int,@billion Int,@numbers Varchar(400),@s Varchar(15) 
Set @numbers='ONE TWO THREE FOUR FIVE ' 
+'SIX SEVEN EIGHT NINE TEN ' 
+'ELEVEN TWELEVE THIRTEEN FOURTEEN FIFTEEN ' 
+'SIXTEEN SEVENTEEN EIGHTEEN NINETEEN ' 
+'TWENTY THIRTY FORTY FIFTY ' 
+'SIXTY SEVENTY EIGHTY NINETY ' 

Set @s=RIGHT('000000000000000'+Cast(@Money As varchar(15)),15) 
Set @billion=Cast(Substring(@s,1,3) As Int) 
Set @million=Cast(Substring(@s,4,3) As Int) 
Set @thousand=Cast(Substring(@s,7,3) As Int) 
Set @result='' 
Set @i=0 

While @i<=3 
BEGIN 

Set @hundreds=Cast(Substring(@s,@i*3+1,1) As Int) 
Set @tenth=Cast(Substring(@s,@i*3+2,1) As Int) 
Set @one=(Case @tenth When 1 Then 10 Else 0 End)+Cast(Substring(@s,@i*3+3,1) As Int) 
Set @tenth=(Case When @tenth<=1 Then 0 Else @tenth End) 

IF (@i=3 and (@billion>0 or @million>0 or @thousand>0) and (@hundreds=0 and (@tenth>0 or @one>0))) 
Set @result=@result+' AND ' 

IF @hundreds>0 
Set @result=@result+RTRIM(Substring(@numbers,@hundreds*10-9,10))+' HUNDRED ' 

IF @tenth>=2 and @tenth<=9 
BEGIN 
IF @hundreds>0 
Set @result=@result+' AND ' 
Set @result=@result+RTRIM(Substring(@numbers,@tenth*10+171,10))+' ' 
END 

IF @one>=1 and @one<=19 
BEGIN 
IF @hundreds>0 AND @tenth=0 
Set @result=@result+' AND ' 
Set @result=@result+RTRIM(Substring(@numbers,@one*10-9,10)) 
END 

IF @i=0 and @billion>0 
Set @result=@result+' BILLION ' 
IF @i=1 and @million>0 
Set @result=@result+' MILLION ' 
IF @i=2 and @thousand>0 
Set @result=@result+' THOUSAND ' 
Set @i=@i+1 
END 

IF(@result<>'') 
Set @result=@result+' '+@Unit 

IF Substring(@s,14,2)<>'00' 
Begin 
Set @tenth=CAST(Substring(@s,14,1) AS INT) 
Set @one=CAST(Substring(@s,15,1) AS INT) 

IF(@tenth>=2 and @tenth<=9) 
Set @result=@result+RTRIM(Substring(@numbers,@tenth*10+171,10)) 
IF @tenth=1 AND @one>=1 and @one<=19 
Set @result=@result+' '+RTRIM(Substring(@numbers,CAST(Substring(@s,14,2) AS INT)*10-9,10)) 
ELSE 
Set @result=@result+' '+RTRIM(Substring(@numbers,@one*10-9,10)) 

SET @result=@result+' SATANG ' 
END 
ELSE 
Set @result=@result+' ONLY' 

END 
RETURN @result 
END

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 色婷婷久久综合中文久久一本 | 免费二级毛片免费完整视频 | les在宿舍吃她奶 | 国产suv精品 | 国产综合色在线视频区色吧图片 | 狠狠做五月深爱婷婷天天综合 | 免费激情小视频 | 国产一区二区在线观看视频 | 亚洲天堂视频在线播放 | 亚洲小视频 | 男人在线网址 | www亚洲色图| 三极黄色 | 草莓在线 | 青柠影视在线播放观看高清 | 国产精品久久久久网站 | 成人福利网站含羞草 | 我与旗袍老师疯狂床震 | 日本高清中文字幕视频在线 | 美女和男人免费网站视频 | 男女全黄h全肉细节文 | 日本护士xxxx视频免费 | 亚洲国产欧美在线人成aaa | 亚洲国产成人精品无码区99 | 91四虎国自产在线播放线 | 色综色天天综合网 | 欧美精品日韩一区二区三区 | 水蜜桃一二二区视在线 | 嫩交18xxxx | 久久国产36精品色熟妇 | 美女林柏欣21p人体之仓之梦 | 无码日韩精品一区二区免费 | 国产里番 | 男人天堂bt | 好大~好爽~再进去一点 | 亚洲国产精品线在线观看 | 极品蜜桃臀美女啪啪 | 欧美极品brazzers 高清 | 成人亚洲欧美综合 | 亚洲精品色图 | 国产亚洲欧美一区二区三区 |