SQL सर्वर 2012 से शुरू करके, आप T-SQL का उपयोग करके संख्यात्मक प्रकारों को प्रारूपित कर सकते हैं FORMAT()
समारोह। यह फ़ंक्शन तीन तर्क स्वीकार करता है; संख्या, प्रारूप, और एक वैकल्पिक "संस्कृति" तर्क।
यह nvarchar . प्रकार का स्वरूपित स्ट्रिंग देता है ।
प्रारूप को प्रारूप स्ट्रिंग के रूप में आपूर्ति की जाती है। एक प्रारूप स्ट्रिंग परिभाषित करती है कि आउटपुट को कैसे स्वरूपित किया जाना चाहिए।
यहां एक उदाहरण दिया गया है:
SELECT FORMAT(1, 'N');
परिणाम:
1.00
इस मामले में, मैंने N
. का उपयोग किया दूसरे तर्क के रूप में। यह संख्या के लिए मानक संख्यात्मक प्रारूप विनिर्देशक है। यह विशेष प्रारूप विनिर्देशक (N
) परिणाम आउटपुट को अभिन्न और दशमलव अंकों, समूह विभाजकों और वैकल्पिक नकारात्मक चिह्न के साथ एक दशमलव विभाजक के साथ स्वरूपित किया जा रहा है। यह तर्क केस-असंवेदनशील है, इसलिए या तो N
या n
ठीक है।
दशमलव स्थान
यहां एक और उदाहरण दिया गया है, इस बार N1
. का उपयोग करके यह निर्दिष्ट करने के लिए कि हम केवल एक दशमलव स्थान चाहते हैं:
SELECT FORMAT(1, 'N1');
परिणाम:
1.0
लेकिन आप दशमलव स्थानों की संख्या भी बढ़ा सकते हैं:
SELECT FORMAT(1, 'N7');
परिणाम:
1.0000000
इन उदाहरणों में, 1
और 7
सटीक विनिर्देशक . के रूप में जाना जाता है ।
सटीक विनिर्देशक वैकल्पिक हैं। वे 0 से 99 तक का मान हो सकते हैं, जो परिणाम की शुद्धता को निर्दिष्ट करता है। यह कैसे काम करता है यह उपयोग किए जा रहे प्रारूप विनिर्देशक पर निर्भर करता है। कुछ प्रारूप विनिर्देशों के लिए, यह परिणाम में अंकों की कुल संख्या निर्दिष्ट करेगा, दूसरों के लिए यह दशमलव स्थानों की संख्या निर्दिष्ट करेगा। अन्य मामलों में इसे पूरी तरह से नजरअंदाज कर दिया जाएगा। यह देखने के लिए कि सटीक विनिर्देशक प्रत्येक प्रारूप विनिर्देशक के आउटपुट को कैसे प्रभावित करते हैं, मानक संख्यात्मक प्रारूप विनिर्देशों की पूरी सूची देखें।
प्रतिशत
निम्नलिखित उदाहरण P
का उपयोग करते हैं तर्क, जो संख्या को प्रतिशत मान के रूप में स्वरूपित करता है। यह संख्या को 100 से गुणा करता है, फिर एक स्थानीयकृत प्रतिशत चिह्न जोड़ता है।
SELECT FORMAT(1, 'P') AS 'Example 1', FORMAT(.375, 'P') AS 'Example 2', FORMAT(.0375, 'P', 'tr-tr') AS 'Example 3';
परिणाम:
Example 1 Example 2 Example 3 --------- --------- --------- 100.00 % 37.50 % %3,75
ध्यान दें कि "उदाहरण 3" में तीसरा तर्क शामिल है, जो आउटपुट में उपयोग की जाने वाली संस्कृति को निर्दिष्ट करता है। इस मामले में, मैं tr-tr
. का उपयोग करता हूं तुर्की के लिए। इसके परिणामस्वरूप प्रतिशत चिह्न संख्या के साथ जोड़ा जा रहा है (बजाय अन्य की तरह, संलग्न)। इसके परिणामस्वरूप अल्पविराम का उपयोग दशमलव विभाजक के रूप में किया जाता है।
यदि आप "संस्कृति" तर्क प्रदान नहीं करते हैं, तो वर्तमान सत्र की भाषा का उपयोग किया जाता है।
जैसा कि आप कल्पना कर सकते हैं, आप अपनी वर्तमान भाषा या किसी "संस्कृति" तर्क के मूल्य के आधार पर काफी भिन्न परिणाम प्राप्त कर सकते हैं। अधिक उदाहरणों के लिए देखें कि भाषा सेटिंग्स आपके FORMAT() परिणामों को कैसे प्रभावित कर सकती हैं।
मुद्रा
आप C
. का उपयोग कर सकते हैं मुद्रा मूल्य वापस करने के लिए।
SELECT FORMAT(1, 'C');
परिणाम:
$1.00
आप लोकेल में तीसरे पैरामीटर के रूप में भी जोड़ सकते हैं।
यहां कुछ उदाहरण दिए गए हैं:
SELECT FORMAT(1, 'C', 'fr-FR') AS France, FORMAT(1, 'C', 'th-TH') AS Thailand, FORMAT(1, 'C', 'ja-JP') AS Japan;
परिणाम:
France Thailand Japan ------ -------- ----- 1,00 € ฿1.00 ¥1
घातांक (वैज्ञानिक)
आप E
का उपयोग कर सकते हैं घातीय संकेतन निर्दिष्ट करने के लिए।
SELECT FORMAT(1234.56789, 'E');
परिणाम:
1.234568E+003
हेक्साडेसिमल
आप किसी संख्या को हेक्साडेसिमल के रूप में भी प्रारूपित कर सकते हैं। ऐसा करने के लिए, X
. का उपयोग करें तर्क:
SELECT FORMAT(10, 'X');
परिणाम:
A
हेक्साडेसिमल आधार 16 है। इसलिए, गिनती फिर से शुरू करने से पहले 1, 2, 3, 4, 5, 6, 7, 8, 9, ए, बी, सी, डी, ई, एफ जाती है (उदाहरण के लिए हेक्साडेसिमल में 10 बराबर है दशमलव में 16 का, और 11, 17 के बराबर है, आदि)। इसलिए यहां दिए गए उदाहरण का परिणाम A
है , क्योंकि हेक्साडेसिमल में, A
9
. के बाद आता है ।
यहाँ एक और उदाहरण है, इस बार बड़ी संख्या के साथ:
SELECT FORMAT(7145, 'X');
परिणाम:
1BE9
कस्टम प्रारूप
आप कस्टम संख्यात्मक प्रारूप स्ट्रिंग का उपयोग करके अपना स्वयं का कस्टम प्रारूप भी बना सकते हैं। इसमें कस्टम संख्यात्मक प्रारूप विनिर्देशों की एक श्रृंखला शामिल है जो आपके नंबर के लिए एक पैटर्न प्रदान करती है।
इसे एक उदाहरण से आसानी से समझाया जा सकता है:
SELECT FORMAT(123456789, '##-###-####');
परिणाम:
12-345-6789
इस मामले में, मैं अंक प्लेसहोल्डर का उपयोग करता हूं (#
) अंक प्लेसहोल्डर मुझे #
. का उपयोग करके संख्या के लिए एक प्रारूप निर्दिष्ट करने की अनुमति देता है प्रत्येक संख्या के लिए प्लेसहोल्डर के रूप में प्रतीक।
अल्पविराम
एक और उदाहरण:
SELECT FORMAT(123456789, '#,#');
परिणाम:
123,456,789
अग्रणी शून्य
एक अन्य कस्टम संख्यात्मक प्रारूप विनिर्देशक शून्य है (0
) आप इसका उपयोग अग्रणी शून्य वाली संख्या को पैड करने के लिए कर सकते हैं:
SELECT FORMAT(7, '000') AS 'Example 1', FORMAT(123, '0000') AS 'Example 2', FORMAT(123, '00000') AS 'Example 3';
परिणाम:
Example 1 Example 2 Example 3 --------- --------- --------- 007 0123 00123
आप इसका उपयोग शून्य को हटाने के लिए भी कर सकते हैं:
SELECT FORMAT(0123, '000') AS 'Example 1', FORMAT(0123, '0000') AS 'Example 2', FORMAT(000123, '00000') AS 'Example 3';
परिणाम:
Example 1 Example 2 Example 3 --------- --------- --------- 123 0123 00123
संख्यात्मक प्रारूप विनिर्देशक संदर्भ
निम्नलिखित लेखों में सभी संख्यात्मक प्रारूप विनिर्देशक शामिल हैं जिनका उपयोग आप FORMAT()
. के साथ कर सकते हैं फ़ंक्शन, टी-एसक्यूएल उदाहरणों के साथ।
- मानक संख्यात्मक प्रारूप स्ट्रिंग्स
- कस्टम संख्यात्मक प्रारूप स्ट्रिंग्स
ये वही प्रारूप विनिर्देशक हैं जो .NET Framework द्वारा समर्थित हैं (FORMAT()
फ़ंक्शन .NET Framework पर निर्भर करता है)।
दिनांक और समय
FORMAT()
फ़ंक्शन आपको दिनांक और समय को प्रारूपित करने की भी अनुमति देता है।
दिनांक और समय में प्रारूप विनिर्देशकों का एक अलग सेट होता है:
- मानक दिनांक और समय प्रारूप स्ट्रिंग्स
- कस्टम दिनांक और समय प्रारूप स्ट्रिंग्स