Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

क्या कोई अंतर्निहित फ़ंक्शन है जो संख्याओं को sql सर्वर में शब्दों में परिवर्तित कर सकता है

एक फ़ंक्शन है, Util_ToWords , SQL# के मुफ़्त संस्करण में SQLCLR लाइब्रेरी जो मैंने लिखी है वह यह करती है (ठीक है, "डॉलर (ओं)" और "सेंट" शब्दों के बिना जोड़े गए):

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

निम्नलिखित उदाहरण "डॉलर (ओं)" और "सेंट" शब्दों को वापसी मूल्य में इंजेक्ट करता है (जो मूल रूप से चेक पर छपाई के लिए था):

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;

रिटर्न:

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. SQL में टेक्स्ट कॉलम को डेटाटाइम में कैसे बदलें

  2. MONTH () SQL सर्वर में उदाहरण (T-SQL)

  3. कैसे जांचें कि इसे बनाने से पहले कोई संग्रहीत कार्यविधि मौजूद है या नहीं?

  4. SQL सर्वर (T-SQL) में एक बाधा कैसे छोड़ें

  5. तालिका का स्कीमा नाम कैसे प्राप्त करें?