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

SQL सर्वर (T-SQL) में STR () फ़ंक्शन कैसे काम करता है

SQL सर्वर में, T-SQL STR() फ़ंक्शन संख्यात्मक डेटा से परिवर्तित वर्ण डेटा देता है। वापसी मूल्य का रिटर्न प्रकार varchar . होता है ।

फ़ंक्शन को कॉल करते समय आप संख्यात्मक डेटा को तर्क के रूप में प्रदान करते हैं। फ़ंक्शन तब इसे वर्ण डेटा में परिवर्तित करता है। दो वैकल्पिक तर्क भी हैं जिनका उपयोग आप दशमलव बिंदु के दाईं ओर लंबाई और स्थानों की संख्या निर्दिष्ट करने के लिए कर सकते हैं।

सिंटैक्स

वाक्य रचना इस प्रकार है:

STR ( float_expression [ , length [ , decimal ] ] )

जहां float_expression अनुमानित संख्या का एक व्यंजक है (फ्लोट ) दशमलव बिंदु के साथ डेटा प्रकार।

लंबाई एक वैकल्पिक तर्क है जिसका उपयोग आप कुल लंबाई निर्दिष्ट करने के लिए कर सकते हैं। इसमें दशमलव बिंदु, चिह्न, अंक और रिक्त स्थान शामिल हैं। डिफ़ॉल्ट 10 है।

दशमलव दशमलव बिंदु के दाईं ओर के स्थानों की संख्या है। यह 16 का अधिकतम मान हो सकता है। यदि इससे अधिक है, तो इसे 16 तक छोटा कर दिया जाता है।

उदाहरण 1 - मूल उपयोग

यह कैसे काम करता है इसका एक उदाहरण यहां दिया गया है:

SELECT STR(123.45) AS Result;

परिणाम:

+------------+
| Result     |
|------------|
|        123 |
+------------+

उदाहरण 2 - गोलाई

डिफ़ॉल्ट रूप से, संख्या को एक पूर्णांक में गोल किया जाता है। यदि हम पिछले उदाहरण से इनपुट को समायोजित करते हैं (उदाहरण के लिए, .45 . से भिन्नात्मक भाग को बढ़ाएं करने के लिए .55 ) हमें निम्नलिखित मिलता है:

SELECT STR(123.55) AS Result;

परिणाम:

+------------+
| Result     |
|------------|
|        124 |
+------------+

उदाहरण 3 - लंबाई

वैकल्पिक लंबाई . का उपयोग करते समय पैरामीटर, इसका मान दशमलव बिंदु और संख्या के चिह्न (यदि कोई हो) से पहले संख्या के भाग से अधिक या उसके बराबर होना चाहिए।

उदाहरण के लिए, निम्नलिखित ठीक है, क्योंकि लंबाई दशमलव बिंदु से पहले की संख्या के भाग से बड़ा है:

SELECT STR(123.55, 4) AS Result;

परिणाम:

+----------+
| Result   |
|----------|
|  124     |
+----------+

हालांकि, निम्न उदाहरण दर्शाता है कि क्या होता है जब लंबाई मान बहुत छोटा है:

SELECT STR(123.55, 2) AS Result;

परिणाम:

+----------+
| Result   |
|----------|
| **       |
+----------+

यह भी ध्यान दें कि लंबाई आउटपुट की लंबाई निर्धारित करता है, और इसमें दशमलव बिंदु, चिह्न, अंक और रिक्त स्थान शामिल हैं। डिफ़ॉल्ट लंबाई 10 है।

लंबाई . के मान के आधार पर आउटपुट में अंतर प्रदर्शित करने के लिए यहां एक उदाहरण दिया गया है तर्क:

SELECT 
  123 AS '123',
  STR(123, 3) AS '3',
  STR(123, 10) AS '10',
  STR(123, 16) AS '16';

परिणाम:

+-------+-----+------------+------------------+
| 123   | 3   | 10         | 16               |
|-------+-----+------------+------------------|
| 123   | 123 |        123 |              123 |
+-------+-----+------------+------------------+

इसे प्रदर्शित करने के दूसरे तरीके के लिए, निम्नलिखित उदाहरण में मैं TRIM() . का उपयोग करके आउटपुट को ट्रिम करता हूं फ़ंक्शन (और इसकी तुलना अनट्रिम किए गए संस्करण से करें):

SELECT 
  TRIM(STR(123, 16)) AS 'A',
  STR(123, 16) AS 'B';

परिणाम:

+-----+------------------+
| A   | B                |
|-----+------------------|
| 123 |              123 |
+-----+------------------+

उदाहरण 4 - दशमलव स्थान

यहां वैकल्पिक दशमलव . का उपयोग करने का एक उदाहरण दिया गया है पैरामीटर:

SELECT STR(123.55, 8, 4) AS Result;

परिणाम:

+----------+
| Result   |
|----------|
| 123.5500 |
+----------+

ध्यान दें कि मैंने लंबाई . के लिए मान बढ़ा दिया है दशमलव स्थानों को समायोजित करने के लिए।

अगर मैं लंबाई . कम कर दूं 6 . का मान , मुझे यह मिलता है:

SELECT STR(123.55, 6, 4) AS Result;

परिणाम:

+----------+
| Result   |
|----------|
| 123.55   |
+----------+

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. T-SQL का उपयोग करके SQL सर्वर एजेंट जॉब कैसे चलाएं

  2. SQL सर्वर में एक संग्रहित प्रक्रिया कैसे बनाएं

  3. मैं sqlcmd.exe का उपयोग करके तर्कों के साथ संग्रहीत कार्यविधि को कैसे कॉल करूं?

  4. एक्सएमएल पथ (''), 1,1) के लिए चयन ... का अर्थ क्या है?

  5. SQL सर्वर - SQL स्क्रिप्ट के निष्पादन को रोकें या रोकें