mgm6608美高梅app下载-mgm集团美高梅登录

mgm6608美高梅app下载以独家报道、社区、博客和专题策划等方式引领产业潮流,mgm集团美高梅登录为足球爱好者以及体育爱好者提供足球上网,让你无后顾之忧!,拥有多位香港乐坛红星。

SQL货币数字转英文字符语句

日期:2020-01-11编辑作者:mgm集团美高梅登录

复制代码 代码如下: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 /// returnsenglish 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 (@billion0 or @million0 or @thousand0) and (@hundreds=0 and (@tenth0 or @one0))) Set @result=@result+' AND ' IF @hundreds0 Set @result=@result+RTRIM(Substring(@numbers,@hundreds*10-9,10))+' HUNDRED ' IF @tenth=2 and @tenth=9 BEGIN IF @hundreds0 Set @result=@result+' AND ' Set @result=@result+RTRIM(Substring(@numbers,@tenth*10+171,10))+' ' END IF @one=1 and @one=19 BEGIN IF @hundreds0 AND @tenth=0 Set @result=@result+' AND ' Set @result=@result+RTRIM(Substring(@numbers,@one*10-9,10)) END IF @i=0 and @billion0 Set @result=@result+' BILLION ' IF @i=1 and @million0 Set @result=@result+' MILLION ' IF @i=2 and @thousand0 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

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    
mgm6608美高梅app下载,Else    
 Begin    
   Declare @i Int, @hundreds Int, @tenth Int, @one Int,  @thousand Int,@million Int,@billion Int,@numbers Varchar(400),@s Varchar(15)         
mgm集团美高梅登录,   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

本文由mgm6608美高梅app下载发布于mgm集团美高梅登录,转载请注明出处:SQL货币数字转英文字符语句

关键词:

MySQL文档每种版本的mysql都有对应的文档,MySQL商

一、版本说明 1、MySQL数据库分类与版本升级 和大多数开源产品的路线一样,采用双授权政策,分为社区版和商业版,...

详细>>

  有时候需要将连个表的数据合并成一个结果

1.连接 有时候需要将连个表的数据合并成一个结果集来显示。为了解决这个问题,就需要用到JOIN连接。   mysql数据库操...

详细>>

多表from子句后面

UPDATE ASET A.c2 =B.c3from A inner join B on A.c1=B.c1 多表from子句后面...

详细>>

MYSQL表信息的查看方法是我们经常要实现的功能,

一.概述 mysqlshow客户端查找工具,能很快地查找存在哪些数据库,数据库中的表,表中的列或索引,和mysql客户端工具...

详细>>