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

SQL सर्वर (T-SQL) में HEX को INT में बदलने के 3 तरीके

SQL सर्वर में हेक्साडेसिमल मान को पूर्णांक में बदलने के 3 तरीके यहां दिए गए हैं।

सबसे पहले दो टी-एसक्यूएल फ़ंक्शन हैं जो आपको एक हेक्स मान को एक पूर्णांक में बदलने की अनुमति देते हैं। इन कार्यों के अलावा, निहित रूपांतरण की अवधारणा भी है, जो समान परिणाम भी उत्पन्न कर सकती है।

उदाहरण 1 - CONVERT() फ़ंक्शन

पहला फ़ंक्शन जो हम देखेंगे वह है CONVERT() समारोह। यह आपको SQL सर्वर में डेटा प्रकारों के बीच कनवर्ट करने की अनुमति देता है।

हेक्साडेसिमल मान को पूर्णांक में बदलने के लिए इस फ़ंक्शन का उपयोग करने का एक उदाहरण यहां दिया गया है:

SELECT CONVERT(INT, 0xfcab) Result;

परिणाम:

+----------+
| Result   |
|----------|
| 64683    |
+----------+

इस मामले में, हम हेक्साडेसिमल मान fcab . को रूपांतरित करते हैं (0x . के साथ उपसर्ग ) एक पूर्णांक के लिए।

उदाहरण 2 - CAST() फ़ंक्शन

हम वैकल्पिक रूप से CAST() . का उपयोग कर सकते हैं पिछले उदाहरण के समान कार्य करने के लिए कार्य करें:

SELECT CAST(0xfcab AS INT) Result;

परिणाम:

+----------+
| Result   |
|----------|
| 64683    |
+----------+

ध्यान दें कि CAST() और CONVERT() थोड़ा अलग वाक्यविन्यास का प्रयोग करें। CAST() . के मामले में कास्ट किया जाने वाला मान पहले आता है, जबकि CONVERT() . के साथ यह दूसरा तरीका है ।

उदाहरण 3 - निहित रूपांतरण

यहां एक निहित रूपांतरण करने का एक उदाहरण दिया गया है, बस हेक्स मान को 1 से गुणा करके:

SELECT 0xfcab * 1 Result;

परिणाम:

+----------+
| Result   |
|----------|
| 64683    |
+----------+

उदाहरण 4 - परिणाम स्वरूपित करना

हम FORMAT() . का भी उपयोग कर सकते हैं अंतिम परिणाम को प्रारूपित करने के लिए कार्य करें। इस मामले में, हम अभी भी वास्तविक रूपांतरण करने के लिए एक रूपांतरण फ़ंक्शन का उपयोग करते हैं। बात बस इतनी है कि हम FORMAT() . का भी इस्तेमाल करते हैं परिणाम को एक संख्या के रूप में प्रारूपित करने के लिए कार्य करता है (N . का उपयोग करके) प्रारूप विनिर्देशक)।

SELECT FORMAT(CAST(0xfcab AS INT), 'N') Result;

परिणाम:

+-----------+
| Result    |
|-----------|
| 64,683.00 |
+-----------+

ध्यान दें कि यह फ़ंक्शन वास्तव में परिणाम को एक स्ट्रिंग के रूप में लौटाता है।

यह भी ध्यान रखें कि FORMAT() फ़ंक्शन केवल संख्यात्मक और दिनांक और समय डेटा प्रकार स्वीकार करता है। इसलिए, हम हेक्साडेसिमल मान को सीधे फ़ंक्शन में पास नहीं कर सकते। अगर हम ऐसा करने की कोशिश करते हैं, तो यहां क्या होता है:

SELECT FORMAT(0xfcab, 'N') Result;

परिणाम:

Argument data type varbinary is invalid for argument 1 of format function.

  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. SQL सर्वर डेटाबेस मेल (T-SQL) से भेजे गए ईमेल की सूची लौटाएं

  3. SQL तालिका से डुप्लिकेट पंक्तियों को हटाना (एकाधिक स्तंभों के मानों के आधार पर)

  4. एक विशाल तालिका में स्तंभ प्रकार बदलें

  5. मैं समय को ध्यान में रखे बिना दिनांक समय कॉलम के आधार पर समूह कैसे बना सकता हूं?