Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Có một chức năng tích hợp có thể chuyển đổi số thành từ trong máy chủ sql không

Có một chức năng, Util_ToWords , trong phiên bản Miễn phí của SQL # Thư viện SQLCLR mà tôi đã viết thực hiện điều này (tốt, không có các từ "đô la" và "xu" được thêm vào):

SELECT SQL#.Util_ToWords(10); -- Ten
SELECT SQL#.Util_ToWords(100); -- One Hundred
SELECT SQL#.Util_ToWords(1000); -- One Thousand 
SELECT SQL#.Util_ToWords(120.20); -- One Hundred Twenty and 20
SELECT SQL#.Util_ToWords(212); -- Two Hundred Twelve
SELECT SQL#.Util_ToWords(123097.4);-- One Hundred Twenty Three Thousand, Ninety Seven and 40

Ví dụ sau đưa các từ "đô la" và "xu" vào giá trị trả về (ban đầu được dùng để in trên séc):

DECLARE @Amount MONEY = 2.08;

;WITH cte AS
(
  SELECT N' dollar' + CASE WHEN @Amount >= 1.00 AND @Amount < 2.00 THEN N''
              ELSE N's'
         END AS [Currency],
         SQL#.Util_ToWords(@Amount) AS [Words]
)
SELECT CASE CHARINDEX(N' and ', cte.[Words])
           WHEN 0 THEN cte.[Words] + cte.[Currency]
           ELSE STUFF(cte.[Words], CHARINDEX(N' and ', cte.[Words]), 0, cte.[Currency])
                + N' cents'
       END
FROM cte;

Lợi nhuận:

Two dollars and 08 cents


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Khái niệm cơ bản về Nhật ký giao dịch SQL Server

  2. SQL Server - thiếu NATURAL JOIN / x JOIN y USING (trường)

  3. 2 cách trả về danh sách máy chủ được liên kết trong SQL Server bằng T-SQL

  4. SQL Server:kiểm tra xem Trigger được Bật hay Tắt?

  5. tách chữ và số bằng sql