Hiển thị kết quả từ 1 đến 3 / 3
  1. #1
    Tham gia
    11-09-2012
    Bài viết
    11
    Like
    0
    Thanked 0 Times in 0 Posts

    Hàm chuyển đổi tiền $ sang chữ

    Hi mọi người!
    Mình đang cần code chuyển đổi số tiền từ $ sang chữ. Ai có giúp mình với. Mình cảm ơn nhiều ạ!
    Quote Quote

  2. #2
    Tham gia
    14-08-2015
    Bài viết
    9
    Like
    0
    Thanked 1 Time in 1 Post
    Là hàm này phải không nhỉ :
    LOWER (str)
    - Chuyển đổi chuỗi str thành chữ thường
    SELECT LOWER ('MySQL is easy'); -- mysql is easy

  3. #3
    Tham gia
    15-01-2008
    Bài viết
    166
    Like
    0
    Thanked 2 Times in 2 Posts
    Của bạn đây:

    Create FUNCTION [dbo].[Num2Text](@Number bigint)
    RETURNS nvarchar(4000) AS
    BEGIN
    DECLARE @sNumber nvarchar(4000)
    DECLARE @Return nvarchar(4000)
    DECLARE @mLen int
    DECLARE @i int
    DECLARE @mDigit int
    DECLARE @mGroup int
    DECLARE @mTemp nvarchar(4000)
    DECLARE @mNumText nvarchar(4000)
    SELECT @sNumber=LTRIM(STR(@Number))
    SELECT @mLen = Len(@sNumber)
    SELECT @i=1
    SELECT @mTemp=''
    WHILE @i <= @mLen
    BEGIN
    SELECT @mDigit=SUBSTRING(@sNumber, @i, 1)
    IF @mDigit=0 SELECT @mNumText=N'không'
    ELSE
    BEGIN
    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'
    END
    SELECT @mTemp = @mTemp + ' ' + @mNumText
    IF (@mLen = @i) BREAK
    Select @mGroup=(@mLen - @i) % 9
    IF @mGroup=0
    BEGIN
    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 + 3
    END
    ELSE
    IF @mGroup=6
    BEGIN
    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 + 3
    END
    ELSE
    IF @mGroup=3
    BEGIN
    SELECT @mTemp = @mTemp + N' nghìn'
    If SUBSTRING(@sNumber, @i + 1, 3) = N'000'
    SELECT @i = @i + 3
    END
    ELSE
    BEGIN
    Select @mGroup=(@mLen - @i) % 3
    IF @mGroup=2
    SELECT @mTemp = @mTemp + N' trăm'
    ELSE
    IF @mGroup=1
    SELECT @mTemp = @mTemp + N' mươi'
    END
    SELECT @i=@i+1
    END
    --'Loại bỏ trường hợp x00
    SELECT @mTemp = Replace(@mTemp, N'không mươi không', '')
    --'Loại bỏ trường hợp 00x
    SELECT @mTemp = Replace(@mTemp, N'không mươi ', N'linh ')
    --'Loại bỏ trường hợp x0, x>=2
    SELECT @mTemp = Replace(@mTemp, N'mươi không', N'mươi')
    --'Fix trường hợp 10
    SELECT @mTemp = Replace(@mTemp, N'một mươi', N'mười')
    --'Fix trường hợp x4, x>=2
    SELECT @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>=2
    SELECT @mTemp = Replace(@mTemp, N'mươi năm', N'mươi lăm')
    --'Fix trường hợp x1, x>=2
    SELECT @mTemp = Replace(@mTemp, N'mươi một', N'mươi mốt')
    --'Fix trường hợp x15
    SELECT @mTemp = Replace(@mTemp, N'mười năm', N'mười lăm')
    --'Bỏ ký tự space
    SELECT @mTemp = LTrim(@mTemp)
    --'Ucase ký tự đầu tiên
    SELECT @Return=UPPER(Left(@mTemp, 1)) + SUBSTRING(@mTemp,2, 4000) + ' '
    RETURN @Return
    END

  4. Thành viên Like bài viết này:


Bookmarks

Quy định

  • Bạn không thể tạo chủ đề mới
  • Bạn không thể trả lời bài viết
  • Bạn không thể gửi file đính kèm
  • Bạn không thể sửa bài viết của mình
  •