首頁 資料庫 mysql教程 SQL Server中文大写金额转化函数

SQL Server中文大写金额转化函数

Jun 07, 2016 pm 02:54 PM
server sql 中文 為了 函數 大寫 轉化

为了能够在报告中直接输入大写金额,本人编写了这个SQL Server的函数. 复制以下代码到SQL Server 查询分析器中运行,生成自定义函数 usf_ChineseCost. 在查询语句中调用该函数就可以输出大写的金额了。 SQL Server 中文金额 大写金额 CREATE FUNCTION usf_Ch

为了能够在报告中直接输入大写金额,本人编写了这个SQL Server的函数. 复制以下代码到SQL Server 查询分析器中运行,生成自定义函数 usf_ChineseCost. 在查询语句中调用该函数就可以输出大写的金额了。

SQL Server 中文金额 大写金额
CREATE FUNCTION usf_ChineseCost
(
 @Cost float
)
RETURNS varchar(50)
AS
----大写钱数----
BEGIN
 declare @returnStr varchar(50)
 if (@Cost >= 1000000000)
    Begin
  set @returnStr = '##########'
        return @returnStr
    end 
 set @returnStr = '00000000000'
 set @returnStr = right(@returnStr + convert(varchar,convert(decimal(11,2),round(@cost,2))),12)
 set @returnStr = replace(@returnStr,'0','零')
 set @returnStr = replace(@returnStr,'1','壹')
 set @returnStr = replace(@returnStr,'2','贰')
 set @returnStr = replace(@returnStr,'3','叁')
 set @returnStr = replace(@returnStr,'4','肆')
 set @returnStr = replace(@returnStr,'5','伍')
 set @returnStr = replace(@returnStr,'6','陆')
 set @returnStr = replace(@returnStr,'7','柒')
 set @returnStr = replace(@returnStr,'8','捌')
 set @returnStr = replace(@returnStr,'9','玖')
          
 set @returnStr = @returnStr + '分'
 set @returnStr =  stuff(@returnStr,len(@returnStr)-1,0,'角')
 set @returnStr =  replace(@returnStr,'.','元')
 set @returnStr =  stuff(@returnStr,len(@returnStr)-5,0,'拾')
 set @returnStr =  stuff(@returnStr,len(@returnStr)-7,0,'百')
 set @returnStr =  stuff(@returnStr,len(@returnStr)-9,0,'千')
 set @returnStr =  stuff(@returnStr,len(@returnStr)-11,0,'万')
 set @returnStr =  stuff(@returnStr,len(@returnStr)-13,0,'拾')
 set @returnStr =  stuff(@returnStr,len(@returnStr)-15,0,'百')
 set @returnStr =  stuff(@returnStr,len(@returnStr)-17,0,'千')
 set @returnStr =  stuff(@returnStr,len(@returnStr)-19,0,'亿')

 set @returnStr =  replace(@returnStr,'零亿','零')
 set @returnStr =  replace(@returnStr,'零千','零')
 set @returnStr =  replace(@returnStr,'零百','零')
 set @returnStr =  replace(@returnStr,'零拾','零')
 set @returnStr =  replace(@returnStr,'零零零','零')
 set @returnStr =  replace(@returnStr,'零零','零')
 set @returnStr =  replace(@returnStr,'零万','万')
 set @returnStr =  replace(@returnStr,'零元','元')
 set @returnStr =  replace(@returnStr,'零角','零')
 set @returnStr =  replace(@returnStr,'零分','')

 while left(@returnStr,1) = '零'
    Begin
    set @returnStr =  right(@returnStr,len(@returnStr)-1)
    end
 if ((left(@returnStr,1)='万')) 
 begin
  set @returnStr =  right(@returnStr,len(@returnStr)-1)
 end
 if ((left(@returnStr,1)='元')) 
 begin
  set @returnStr =  right(@returnStr,len(@returnStr)-1)
 end
 while left(@returnStr,1) = '零'
    Begin
    set @returnStr =  right(@returnStr,len(@returnStr)-1)
    end
 while right(@returnStr,1) = '零'
    Begin
    set @returnStr =  left(@returnStr,len(@returnStr)-1)
    end

 set @returnStr =  replace(@returnStr,'亿万','亿零')
 set @returnStr =  replace(@returnStr,'零元','元')
 set @returnStr =  replace(@returnStr,'零零零','零')
 set @returnStr =  replace(@returnStr,'零零','零')

 if (@returnStr='') 
 begin
  set @returnStr =  '零元'
 end
 if ((right(@returnStr,1)='元')) 
 begin
  set @returnStr =  @returnStr + '整'
 end
 return @returnStr
END

登入後複製
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1666
14
CakePHP 教程
1425
52
Laravel 教程
1324
25
PHP教程
1272
29
C# 教程
1251
24
golang函數動態建立新函數的技巧 golang函數動態建立新函數的技巧 Apr 25, 2024 pm 02:39 PM

Go語言提供了兩種動態函數創建技術:closures和反射。 closures允許存取閉包作用域內的變量,而反射可使用FuncOf函數建立新函數。這些技術在自訂HTTP路由器、實現高度可自訂的系統和建置可插拔的元件方面非常有用。

C++ 函數命名中參數順序的考慮 C++ 函數命名中參數順序的考慮 Apr 24, 2024 pm 04:21 PM

在C++函數命名中,考慮參數順序至關重要,可提高可讀性、減少錯誤並促進重構。常見的參數順序約定包括:動作-物件、物件-動作、語意意義和遵循標準函式庫。最佳順序取決於函數目的、參數類型、潛在混淆和語言慣例。

excel函數公式大全 excel函數公式大全 May 07, 2024 pm 12:04 PM

1. SUM函數,用於對一列或一組單元格中的數字進行求和,例如:=SUM(A1:J10)。 2、AVERAGE函數,用於計算一列或一組儲存格中的數字的平均值,例如:=AVERAGE(A1:A10)。 3.COUNT函數,用於計算一列或一組單元格中的數字或文字的數量,例如:=COUNT(A1:A10)4、IF函數,用於根據指定的條件進行邏輯判斷,並返回相應的結果。

如何在Java中寫出高效和可維護的函數? 如何在Java中寫出高效和可維護的函數? Apr 24, 2024 am 11:33 AM

編寫高效且可維護的Java函數的關鍵在於:保持簡潔。使用有意義的命名。處理特殊情況。使用適當的可見性。

C++ 函式異常進階:客製化錯誤處理 C++ 函式異常進階:客製化錯誤處理 May 01, 2024 pm 06:39 PM

C++中的異常處理可透過自訂異常類別增強,提供特定錯誤訊息、上下文資訊以及根據錯誤類型執行自訂操作。定義繼承自std::exception的異常類,提供特定的錯誤訊息。使用throw關鍵字拋出自訂異常。在try-catch區塊中使用dynamic_cast將捕獲到的異常轉換為自訂異常類型。在實戰案例中,open_file函數會拋出FileNotFoundException異常,捕捉並處理該異常可提供更具體的錯誤訊息。

Golang 函數接收 map 參數時的注意事項 Golang 函數接收 map 參數時的注意事項 Jun 04, 2024 am 10:31 AM

在Go中傳遞map給函數時,預設會建立副本,對副本的修改不影響原map。如果需要修改原始map,可透過指標傳遞。空map需小心處理,因為技術上是nil指針,傳遞空map給期望非空map的函數會發生錯誤。

在 C++ 中使用函數傳回值:詳解類型和意義 在 C++ 中使用函數傳回值:詳解類型和意義 May 01, 2024 am 08:27 AM

函數傳回值在C++中至關重要,它允許函數傳回指定類型的資料:傳回值型別定義函數傳回資料的類型,包括基本型別(如int、float)和自訂型別(如指標、參考)。傳回值意義根據函數意圖而異,例如傳回結果、指示狀態、提供引用或建立新物件。

上市成「真香」微單的尼康 Z6 III,為什麼成為了用戶首選 上市成「真香」微單的尼康 Z6 III,為什麼成為了用戶首選 Aug 27, 2024 pm 03:33 PM

尼康Z6III發佈於今年6月中旬,自發售後,尼康Z6III成為了關注度非常高的一款產品。首先,尼康Z6III的價格持續走低,讓這台新相機的性價比不斷增加,逐漸成為市場上"真香"微單型號之一。相對於前代尼康Z6II,尼康Z6III的升級可謂全方面。尼康Z6III不僅採用了全新的CMOS感測器,相機在對焦、連拍、視訊等許多方面進行了全面升級。接下來,我們就簡單解析下尼康Z6III這台相機,幫您了解這台相機的拍攝效能。 1.全新2450萬像素部分堆疊式CMOS感測器選購一台相機,首

See all articles