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

SQL सर्वर में FORMAT () द्वारा समर्थित मानक संख्यात्मक प्रारूप स्ट्रिंग्स

यह आलेख मानक संख्यात्मक प्रारूप विनिर्देशों के लिए एक संदर्भ प्रदान करता है जिसका उपयोग FORMAT() का उपयोग करके संख्याओं को स्वरूपित करते समय किया जा सकता है। SQL सर्वर में फ़ंक्शन। उदाहरण शामिल हैं।

कुछ उदाहरण सटीक विनिर्देशक का उपयोग करते हैं (इनमें प्रारूप विनिर्देशक से जुड़े एक या दो अंक होते हैं)। सटीक विनिर्देशक 0 से 99 तक का मान हो सकता है, जो परिणाम की शुद्धता को निर्दिष्ट करता है। यह कैसे काम करता है यह उपयोग किए जा रहे प्रारूप विनिर्देशक पर निर्भर करता है। कुछ प्रारूप विनिर्देशों के लिए, यह परिणाम में अंकों की कुल संख्या निर्दिष्ट करेगा, दूसरों के लिए यह दशमलव स्थानों की संख्या निर्दिष्ट करेगा। अन्य मामलों में इसे पूरी तरह से अनदेखा कर दिया जाएगा।

<टीडी>

मुद्रा . संख्या को एक स्ट्रिंग में कनवर्ट करता है जो मुद्रा राशि का प्रतिनिधित्व करता है।

दशमलव स्थानों की संख्या निर्दिष्ट करने के लिए एक वैकल्पिक सटीक विनिर्देशक का उपयोग किया जा सकता है।

उदाहरण (विभिन्न संस्कृतियों का उपयोग करके) :

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 |
+--------+--------+------+---------+------+----------+
<टीडी>

दशमलव . संख्या को दशमलव अंकों (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 |
+------+------+------+------+-------+------+
<टीडी>

घातीय (वैज्ञानिक) . संख्या को “-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 |
+---------------+--------+------------+-------------+----------------+
<टीडी>

निश्चित बिंदु . संख्या को “-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 |
+-------+------+--------+---------+----------+-------+
<टीडी>

सामान्य . संख्या के प्रकार और एक सटीक विनिर्देशक मौजूद है या नहीं, इस पर निर्भर करते हुए, संख्या को या तो निश्चित-बिंदु या वैज्ञानिक संकेतन के अधिक कॉम्पैक्ट में परिवर्तित करता है।

यदि (वैकल्पिक) सटीक विनिर्देशक का उपयोग किया जाता है, तो यह परिणाम स्ट्रिंग में प्रकट होने वाले महत्वपूर्ण अंकों की अधिकतम संख्या को परिभाषित करता है। यदि छोड़ा गया है, या यदि मान शून्य है, तो सटीकता संख्या प्रकार द्वारा निर्धारित की जाती है।

संख्या प्रकार सटीकता को कैसे प्रभावित कर सकता है, इसकी व्याख्या के लिए आधिकारिक .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 |
+--------+--------+------+-------+--------+--------+
<टीडी>

संख्या . संख्या को "-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 |
+----------+-------+-----------+------------+----------+
<टीडी>

प्रतिशत . संख्या को 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% |
+---------+------+------+----------+--------+
<टीडी>

दौर-यात्रा . यह सुनिश्चित करने का प्रयास करता है कि एक संख्यात्मक मान जो एक स्ट्रिंग में परिवर्तित होता है, उसी संख्यात्मक मान में वापस पार्स किया जाता है।

इस प्रारूप विनिर्देशक का उपयोग करते समय सटीक विनिर्देशक को अनदेखा कर दिया जाता है।

नोट :.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 ) निर्दिष्ट करता है कि 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 |
+------+------+--------+--------+--------+----------+------+
स्वरूप स्ट्रिंग विवरण/उदाहरण
C या c
D या d
E या e
F या f
G या g
N या n
P या p
R या r
X या x

उपरोक्त सूची लेखन के समय Microsoft वेबसाइट पर मानक संख्यात्मक प्रारूप स्ट्रिंग्स के लिए आधिकारिक .NET दस्तावेज़ीकरण की जानकारी के आधार पर मान्य .NET कस्टम संख्यात्मक प्रारूप स्ट्रिंग्स की एक पूरी सूची है।

कारण ये SQL सर्वर के लिए प्रासंगिक हैं FORMAT() फ़ंक्शन यह है कि यह फ़ंक्शन केवल मान्य .NET Framework प्रारूप स्ट्रिंग्स को स्वीकार करता है।

उपरोक्त के अलावा मानक प्रारूप स्ट्रिंग, आप कस्टम . का भी उपयोग कर सकते हैं प्रारूप तार। यहां कस्टम न्यूमेरिक फ़ॉर्मेट स्ट्रिंग्स की पूरी सूची दी गई है जिनका उपयोग आप SQL सर्वर के साथ कर सकते हैं।

आप दिनांक और समय मान भी प्रारूपित कर सकते हैं। मानक दिनांक और समय प्रारूप स्ट्रिंग्स की सूची के साथ-साथ कस्टम दिनांक और समय प्रारूप स्ट्रिंग्स देखें जिनका उपयोग आप FORMAT() के साथ कर सकते हैं समारोह।

यदि आप अभी भी यह समझने की कोशिश कर रहे हैं कि प्रारूप स्ट्रिंग क्या है, तो SQL सर्वर में प्रारूप स्ट्रिंग क्या है देखें? प्रारूप स्ट्रिंग की बुनियादी समझ के लिए और वे FORMAT() . से कैसे संबंधित हैं समारोह।


  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. ADO.NET कॉलिंग T-SQL संग्रहीत कार्यविधि एक SqlTimeoutException का कारण बनती है

  3. आसान उदाहरणों के माध्यम से SQL सर्वर पदानुक्रम आईडी का उपयोग कैसे करें

  4. मैं एक्सप्रेस 4 वेब एप्लिकेशन में कई मार्गों पर एक एकल एमएसएसक्यूएल कनेक्शन पूल का उपयोग कैसे कर सकता हूं?

  5. क्लस्टर्ड और नॉन-क्लस्टर इंडेक्स के बीच अंतर क्या हैं?