यह आलेख मानक संख्यात्मक प्रारूप विनिर्देशों के लिए एक संदर्भ प्रदान करता है जिसका उपयोग FORMAT()
का उपयोग करके संख्याओं को स्वरूपित करते समय किया जा सकता है। SQL सर्वर में फ़ंक्शन। उदाहरण शामिल हैं।
कुछ उदाहरण सटीक विनिर्देशक का उपयोग करते हैं (इनमें प्रारूप विनिर्देशक से जुड़े एक या दो अंक होते हैं)। सटीक विनिर्देशक 0 से 99 तक का मान हो सकता है, जो परिणाम की शुद्धता को निर्दिष्ट करता है। यह कैसे काम करता है यह उपयोग किए जा रहे प्रारूप विनिर्देशक पर निर्भर करता है। कुछ प्रारूप विनिर्देशों के लिए, यह परिणाम में अंकों की कुल संख्या निर्दिष्ट करेगा, दूसरों के लिए यह दशमलव स्थानों की संख्या निर्दिष्ट करेगा। अन्य मामलों में इसे पूरी तरह से अनदेखा कर दिया जाएगा।
स्वरूप स्ट्रिंग | विवरण/उदाहरण |
C या c | <टीडी>
मुद्रा . संख्या को एक स्ट्रिंग में कनवर्ट करता है जो मुद्रा राशि का प्रतिनिधित्व करता है।
दशमलव स्थानों की संख्या निर्दिष्ट करने के लिए एक वैकल्पिक सटीक विनिर्देशक का उपयोग किया जा सकता है।
उदाहरण (विभिन्न संस्कृतियों का उपयोग करके) :
SELECT
FORMAT(12.34, 'C', 'en-us') R1,
FORMAT(012.34, 'C', 'iv') R2,
FORMAT(12.34, 'C0', 'ja-jp') R3,
FORMAT(12.54, 'c', 'vi-vn') R4,
FORMAT(12.54, 'c0', 'en-au') R5,
FORMAT(12.54, 'c4', 'en-gb') R6;
+--------+--------+------+---------+------+----------+
| R1 | R2 | R3 | R4 | R5 | R6 |
|--------+--------+------+---------+------+----------|
| $12.34 | ¤12.34 | ¥12 | 12,54 ₫ | $13 | £12.5400 |
+--------+--------+------+---------+------+----------+
D या d | <टीडी>
दशमलव . संख्या को दशमलव अंकों (0-9) की एक स्ट्रिंग में परिवर्तित करता है, यदि संख्या ऋणात्मक है तो ऋण चिह्न से पहले। यह प्रारूप केवल अभिन्न प्रकारों के लिए समर्थित है।
यदि (वैकल्पिक) सटीक विनिर्देशक का उपयोग किया जाता है, तो यह परिणाम में अंकों की कुल संख्या निर्दिष्ट करता है। यदि संख्या में इतने अंक नहीं हैं, तो इसके बाईं ओर शून्य से गद्दीदार हो जाएगा।
उदाहरण :
SELECT
FORMAT(123, 'D') R1,
FORMAT(123, 'D0') R2,
FORMAT(123, 'D3') R3,
FORMAT(123, 'd4') R4,
FORMAT(0123, 'd5') R5,
FORMAT(1.23, 'd') R6;
+------+------+------+------+-------+------+
| R1 | R2 | R3 | R4 | R5 | R6 |
|------+------+------+------+-------+------|
| 123 | 123 | 123 | 0123 | 00123 | NULL |
+------+------+------+------+-------+------+
E या e | <टीडी>
घातीय (वैज्ञानिक) . संख्या को “-d.ddd…E+ddd” या “-d.ddd…e+ddd” के रूप में एक स्ट्रिंग में कनवर्ट करता है, जहां प्रत्येक “d” एक अंक (0-9) को इंगित करता है। यदि संख्या ऋणात्मक है तो स्ट्रिंग ऋण चिह्न से प्रारंभ होती है। ठीक एक अंक हमेशा दशमलव बिंदु से पहले आता है।
यदि एक सटीक विनिर्देशक का उपयोग किया जाता है, तो यह निर्दिष्ट करता है कि दशमलव बिंदु के दाईं ओर कितने अंक हैं। यदि छोड़ा गया है, तो दशमलव बिंदु के दाईं ओर छह अंक दिखाई देंगे।
उदाहरण :
SELECT
FORMAT(1024.1234567, 'E') R1,
FORMAT(1024.1234567, 'E0') R2,
FORMAT(1024.1234567, 'E3') R3,
FORMAT(1024.1234567, 'e4') R4,
FORMAT(1024.1234567, 'e7') R5;
+---------------+--------+------------+-------------+----------------+
| R1 | R2 | R3 | R4 | R5 |
|---------------+--------+------------+-------------+----------------|
| 1.024123E+003 | 1E+003 | 1.024E+003 | 1.0241e+003 | 1.0241235e+003 |
+---------------+--------+------------+-------------+----------------+
F या f | <टीडी>
निश्चित बिंदु . संख्या को “-ddd.ddd…” के रूप में एक स्ट्रिंग में कनवर्ट करता है, जहां प्रत्येक “d” एक अंक (0-9) को इंगित करता है। यदि संख्या ऋणात्मक है, तो स्ट्रिंग ऋणात्मक चिह्न से प्रारंभ होती है।
दशमलव स्थानों की संख्या निर्दिष्ट करने के लिए एक वैकल्पिक सटीक विनिर्देशक का उपयोग किया जा सकता है।
उदाहरण :
SELECT
FORMAT(12.345, 'F', 'en-us') R1,
FORMAT(12.345, 'F0', 'en-us') R2,
FORMAT(12.345, 'f3', 'en-us') R3,
FORMAT(12.345, 'f4', 'en-us') R4,
FORMAT(12.345, 'f5', 'en-us') R5,
FORMAT(12.345, 'f', 'vi-vn') R6;
+-------+------+--------+---------+----------+-------+
| R1 | R2 | R3 | R4 | R5 | R6 |
|-------+------+--------+---------+----------+-------|
| 12.35 | 12 | 12.345 | 12.3450 | 12.34500 | 12,35 |
+-------+------+--------+---------+----------+-------+
G या g | <टीडी>
सामान्य . संख्या के प्रकार और एक सटीक विनिर्देशक मौजूद है या नहीं, इस पर निर्भर करते हुए, संख्या को या तो निश्चित-बिंदु या वैज्ञानिक संकेतन के अधिक कॉम्पैक्ट में परिवर्तित करता है।
यदि (वैकल्पिक) सटीक विनिर्देशक का उपयोग किया जाता है, तो यह परिणाम स्ट्रिंग में प्रकट होने वाले महत्वपूर्ण अंकों की अधिकतम संख्या को परिभाषित करता है। यदि छोड़ा गया है, या यदि मान शून्य है, तो सटीकता संख्या प्रकार द्वारा निर्धारित की जाती है।
संख्या प्रकार सटीकता को कैसे प्रभावित कर सकता है, इसकी व्याख्या के लिए आधिकारिक .NET दस्तावेज़ देखें। आपको FORMAT()
. के आधिकारिक दस्तावेज़ों के साथ क्रॉस-रेफरेंस की आवश्यकता हो सकती है यह देखने के लिए कि कैसे प्रत्येक .NET संख्यात्मक प्रकार एक T-SQL संख्यात्मक प्रकार में मैप करता है।
उदाहरण :
SELECT
FORMAT(12.345, 'G', 'en-us') R1,
FORMAT(12.345, 'G0', 'en-us') R2,
FORMAT(12.345, 'g3', 'en-us') R3,
FORMAT(12.345, 'g4', 'en-us') R4,
FORMAT(12.345, 'g5', 'en-us') R5,
FORMAT(12.345, 'g', 'vi-vn') R6;
+--------+--------+------+-------+--------+--------+
| R1 | R2 | R3 | R4 | R5 | R6 |
|--------+--------+------+-------+--------+--------|
| 12.345 | 12.345 | 12.3 | 12.35 | 12.345 | 12,345 |
+--------+--------+------+-------+--------+--------+
N या n | <टीडी>
संख्या . संख्या को "-d,ddd,ddd.ddd…" फ़ॉर्म की एक स्ट्रिंग में कनवर्ट करता है।
यदि (वैकल्पिक) सटीक विनिर्देशक का उपयोग किया जाता है, तो यह दशमलव बिंदु के दाईं ओर अंकों की संख्या को परिभाषित करता है।
उदाहरण :
SELECT
FORMAT(1234.56, 'N', 'en-us') R1,
FORMAT(1234.56, 'N0', 'en-us') R2,
FORMAT(1234.56, 'n3', 'en-us') R3,
FORMAT(1234.56, 'n4', 'en-us') R4,
FORMAT(1234.56, 'n', 'vi-vn') R5;
+----------+-------+-----------+------------+----------+
| R1 | R2 | R3 | R4 | R5 |
|----------+-------+-----------+------------+----------|
| 1,234.56 | 1,235 | 1,234.560 | 1,234.5600 | 1.234,56 |
+----------+-------+-----------+------------+----------+
P या p | <टीडी>
प्रतिशत . संख्या को 100 से गुणा करता है और इसे एक स्ट्रिंग में परिवर्तित करता है जो एक प्रतिशत का प्रतिनिधित्व करता है।
यदि सटीक विनिर्देशक का उपयोग किया जाता है, तो यह दशमलव स्थानों की संख्या को परिभाषित करता है।
उदाहरण :
SELECT
FORMAT(.1234, 'P', 'en-us') R1,
FORMAT(.1234, 'P0', 'en-us') R2,
FORMAT(.1250, 'p0', 'en-us') R3,
FORMAT(.1250, 'p3', 'en-us') R4,
FORMAT(.1250, 'p', 'vi-vn') R5;
+---------+------+------+----------+--------+
| R1 | R2 | R3 | R4 | R5 |
|---------+------+------+----------+--------|
| 12.34 % | 12 % | 13 % | 12.500 % | 12,50% |
+---------+------+------+----------+--------+
R या r | <टीडी>
दौर-यात्रा . यह सुनिश्चित करने का प्रयास करता है कि एक संख्यात्मक मान जो एक स्ट्रिंग में परिवर्तित होता है, उसी संख्यात्मक मान में वापस पार्स किया जाता है।
इस प्रारूप विनिर्देशक का उपयोग करते समय सटीक विनिर्देशक को अनदेखा कर दिया जाता है।
नोट :.NET में, यह प्रारूप विनिर्देशक केवल एकल . द्वारा समर्थित है , डबल , और बिगइंटर संख्या प्रकार। साथ ही, डबल . के लिए मान, यह प्रारूप विनिर्देशक कुछ मामलों में मूल मान को सफलतापूर्वक राउंड-ट्रिप करने में विफल रहता है। डबल . के साथ उपयोग किए जाने पर यह खराब प्रदर्शन भी प्रदान करता है और एकल प्रकार।
इसके अलावा, .NET दस्तावेज़ीकरण अनुशंसा करता है कि यह प्रारूप विनिर्देशक BigInteger के लिए उपयोग किया जाता है केवल टाइप करें। यह अनुशंसा करता है कि डबल प्रकार G17
use का उपयोग करते हैं , और एकल प्रकार G9
use का उपयोग करते हैं .
SQL सर्वर के लिए इसका क्या अर्थ है? मूल रूप से आपको शायद SQL सर्वर में इस प्रारूप विनिर्देशक से बचना चाहिए। इसके बजाय, G17
. का उपयोग करें फ्लोट . के लिए डेटा प्रकार, और G9
असली . के लिए डेटा प्रकार।
उदाहरण
यहां एक उदाहरण दिया गया है जो R
. की तुलना करता है G17
. के साथ प्रारूप विनिर्देशक और G9
।
DECLARE @myFloat float, @myReal real;
SET @myFloat = '123456789.1234567';
SET @myReal = @myFloat;
SELECT
@myFloat 'Float Value',
@myReal 'Real Value';
SELECT
FORMAT(@myFloat, 'R') 'Float R',
FORMAT(@myFloat, 'G17') 'Float G17',
FORMAT(@myReal, 'R') 'Real R',
FORMAT(@myReal, 'G9') 'Real G9';
+------------------+--------------+
| Float Value | Real Value |
|------------------+--------------|
| 123456789.123457 | 1.234568E+08 |
+------------------+--------------+
(1 row affected)
+-------------------+-------------------+-----------+-----------+
| Float R | Float G17 | Real R | Real G9 |
|-------------------+-------------------+-----------+-----------|
| 123456789.1234567 | 123456789.1234567 | 123456792 | 123456792 |
+-------------------+-------------------+-----------+-----------+
(1 row affected)
X या x | <टीडी>
हेक्साडेसिमल . संख्या को हेक्साडेसिमल अंकों की एक स्ट्रिंग में कनवर्ट करता है।
इस्तेमाल किया गया मामला (यानी X
या x
) निर्दिष्ट करता है कि 9 से अधिक हेक्साडेसिमल अंकों के लिए अपरकेस या लोअरकेस वर्णों का उपयोग करना है या नहीं। ऐसा इसलिए है क्योंकि हेक्साडेसिमल मानों में निम्नलिखित वर्ण शामिल हो सकते हैं; 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, ए, बी, सी, डी, ई, और एफ (दोनों में से कोई भी)। हेक्साडेसिमल का उपयोग करते समय अपरकेस और लोअरकेस एक ही मान का प्रतिनिधित्व करते हैं (उदाहरण के लिए, f
और f
दोनों 15
में बदल जाते हैं दशमलव में)।
यह प्रारूप विनिर्देशक केवल अभिन्न प्रकारों के लिए समर्थित है।
यदि (वैकल्पिक) सटीक विनिर्देशक का उपयोग किया जाता है, तो यह परिणाम में अंकों की कुल संख्या निर्दिष्ट करता है। यदि संख्या में इतने अंक नहीं हैं, तो इसके बाईं ओर शून्य से गद्दीदार हो जाएगा।
उदाहरण :
SELECT
FORMAT(123, 'X') R1,
FORMAT(123, 'x') R2,
FORMAT(123, 'x6') R3,
FORMAT(12345678, 'x') R4,
FORMAT(123, 'x6') R5,
FORMAT(-123, 'x') R6,
FORMAT(1.23, 'X') R7;
+------+------+--------+--------+--------+----------+------+
| R1 | R2 | R3 | R4 | R5 | R6 | R7 |
|------+------+--------+--------+--------+----------+------|
| 7B | 7b | 00007b | bc614e | 00007b | ffffff85 | NULL |
+------+------+--------+--------+--------+----------+------+
उपरोक्त सूची लेखन के समय Microsoft वेबसाइट पर मानक संख्यात्मक प्रारूप स्ट्रिंग्स के लिए आधिकारिक .NET दस्तावेज़ीकरण की जानकारी के आधार पर मान्य .NET कस्टम संख्यात्मक प्रारूप स्ट्रिंग्स की एक पूरी सूची है।
आप दिनांक और समय मान भी प्रारूपित कर सकते हैं। मानक दिनांक और समय प्रारूप स्ट्रिंग्स की सूची के साथ-साथ कस्टम दिनांक और समय प्रारूप स्ट्रिंग्स देखें जिनका उपयोग आप FORMAT()
के साथ कर सकते हैं समारोह।
यदि आप अभी भी यह समझने की कोशिश कर रहे हैं कि प्रारूप स्ट्रिंग क्या है, तो SQL सर्वर में प्रारूप स्ट्रिंग क्या है देखें? प्रारूप स्ट्रिंग की बुनियादी समझ के लिए और वे FORMAT()
. से कैसे संबंधित हैं समारोह।