- Chương trình C# mô phỏng các bước của thuật toán sắp xếp Insertion, Selection, Bubble và Quick Sort
- Tạo mã tự sinh trong C# và SQL Server phần 1
- Tìm hiểu string.Format trong C#
- Ox3 - Công cụ hack gmail hiệu quả
Bạn có thể sử dụng hàm này để thực hiện hiển thị số tiền bằng chữ ngay trong câu truy vấn ở SQL Server hoặc lấy kết quả chuyển đổi đem lên C# và in ra report.
Hàm Num2Text
Create FUNCTION [dbo].[Num2Text](@Number int)RETURNS nvarchar(4000) ASBEGINDECLARE @sNumber nvarchar(4000)DECLARE @Return nvarchar(4000)DECLARE @mLen intDECLARE @i intDECLARE @mDigit intDECLARE @mGroup intDECLARE @mTemp nvarchar(4000)DECLARE @mNumText nvarchar(4000)SELECT @sNumber=LTRIM(STR(@Number))SELECT @mLen = Len(@sNumber)SELECT @i=1SELECT @mTemp=''WHILE @i <= @mLenBEGINSELECT @mDigit=SUBSTRING(@sNumber, @i, 1)IF @mDigit=0 SELECT @mNumText=N'không'ELSEBEGIN IF @mDigit=1 SELECT @mNumText=N'một' ELSE IF @mDigit=2 SELECT @mNumText=N'hai' ELSE IF @mDigit=3 SELECT @mNumText=N'ba' ELSE IF @mDigit=4 SELECT @mNumText=N'bốn' ELSE IF @mDigit=5 SELECT @mNumText=N'năm' ELSE IF @mDigit=6 SELECT @mNumText=N'sáu' ELSE IF @mDigit=7 SELECT @mNumText=N'bảy' ELSE IF @mDigit=8 SELECT @mNumText=N'tám' ELSE IF @mDigit=9 SELECT @mNumText=N'chín'ENDSELECT @mTemp = @mTemp + ' ' + @mNumTextIF (@mLen = @i) BREAKSelect @mGroup=(@mLen - @i) % 9IF @mGroup=0BEGIN SELECT @mTemp = @mTemp + N' tỷ' If SUBSTRING(@sNumber, @i + 1, 3) = N'000' SELECT @i = @i + 3 If SUBSTRING(@sNumber, @i + 1, 3) = N'000' SELECT @i = @i + 3 If SUBSTRING(@sNumber, @i + 1, 3) = N'000' SELECT @i = @i + 3ENDELSEIF @mGroup=6BEGIN SELECT @mTemp = @mTemp + N' triệu' If SUBSTRING(@sNumber, @i + 1, 3) = N'000' SELECT @i = @i + 3 If SUBSTRING(@sNumber, @i + 1, 3) = N'000' SELECT @i = @i + 3ENDELSEIF @mGroup=3BEGIN SELECT @mTemp = @mTemp + N' nghìn' If SUBSTRING(@sNumber, @i + 1, 3) = N'000' SELECT @i = @i + 3ENDELSEBEGIN Select @mGroup=(@mLen - @i) % 3 IF @mGroup=2 SELECT @mTemp = @mTemp + N' trăm' ELSE IF @mGroup=1 SELECT @mTemp = @mTemp + N' mươi' ENDSELECT @i=@i+1END--'Loại bỏ trường hợp x00SELECT @mTemp = Replace(@mTemp, N'không mươi không', '')--'Loại bỏ trường hợp 00xSELECT @mTemp = Replace(@mTemp, N'không mươi ', N'linh ')--'Loại bỏ trường hợp x0, x>=2SELECT @mTemp = Replace(@mTemp, N'mươi không', N'mươi')--'Fix trường hợp 10SELECT @mTemp = Replace(@mTemp, N'một mươi', N'mười')--'Fix trường hợp x4, x>=2SELECT @mTemp = Replace(@mTemp, N'mươi bốn', N'mươi tư')--'Fix trường hợp x04 SELECT @mTemp = Replace(@mTemp, N'linh bốn', N'linh tư')--'Fix trường hợp x5, x>=2SELECT @mTemp = Replace(@mTemp, N'mươi năm', N'mươi lăm')--'Fix trường hợp x1, x>=2SELECT @mTemp = Replace(@mTemp, N'mươi một', N'mươi mốt')--'Fix trường hợp x15SELECT @mTemp = Replace(@mTemp, N'mười năm', N'mười lăm')--'Bỏ ký tự spaceSELECT @mTemp = LTrim(@mTemp)--'Ucase ký tự đầu tiênSELECT @Return=UPPER(Left(@mTemp, 1)) + SUBSTRING(@mTemp,2, 4000)RETURN @ReturnEND |
Video hướng dẫn sử dụng

0 nhận xét:
Đăng nhận xét