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

MySQL में UNHEX () फ़ंक्शन कैसे काम करता है

MySQL में, UNHEX() फ़ंक्शन आपको MySQL में एक स्ट्रिंग को "अनहेक्स" करने की अनुमति देता है। दूसरे शब्दों में, यह आपको एक हेक्साडेसिमल मान को मानव-पठनीय स्ट्रिंग में बदलने की अनुमति देता है।

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

सिंटैक्स

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

UNHEX(str)

जहां str अनहेक्स करने के लिए स्ट्रिंग है।

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

यहां एक बुनियादी उदाहरण दिया गया है:

SELECT UNHEX('436F636F6E75742070616C6D') AS Unhexed;

परिणाम:

+--------------+
| Unhexed      |
+--------------+
| Coconut palm |
+--------------+

इसलिए मैंने एक तर्क के रूप में एक हेक्स मान प्रदान किया, और फ़ंक्शन ने उस मान को अनहेक्स किया और परिणाम लौटा दिया (जो एक बाइनरी स्ट्रिंग है)।

उदाहरण 2 - स्ट्रिंग को हेक्साडेसिमल में बदलें

हम HEX() . का उपयोग करके रिवर्स भी कर सकते हैं स्ट्रिंग को हेक्साडेसिमल मान में बदलने के लिए कार्य करता है:

SELECT HEX('Coconut palm') AS Hexed;

परिणाम:

+--------------------------+
| Hexed                    |
+--------------------------+
| 436F636F6E75742070616C6D |
+--------------------------+

इसलिए, हम एक फ़ंक्शन को दूसरे में नेस्ट कर सकते हैं, और हमें बस अपना तर्क वापस मिल जाएगा:

SELECT 
  UNHEX(HEX('Coconut palm')) AS 'Result 1',
  HEX(UNHEX('436F636F6E75742070616C6D')) AS 'Result 2';

परिणाम:

+--------------+--------------------------+
| Result 1     | Result 2                 |
+--------------+--------------------------+
| Coconut palm | 436F636F6E75742070616C6D |
+--------------+--------------------------+

उदाहरण 3 - अमान्य हेक्साडेसिमल वर्ण

तर्क में मान्य हेक्साडेसिमल वर्ण होने चाहिए। यदि कोई भी वर्ण मान्य हेक्स वर्ण नहीं हैं, तो परिणाम NULL . होगा :

SELECT 
  UNHEX(' '),
  UNHEX('_xyz');

परिणाम:

+------------+---------------+
| UNHEX(' ') | UNHEX('_xyz') |
+------------+---------------+
| NULL       | NULL          |
+------------+---------------+

उदाहरण 4 - संख्यात्मक तर्क

UNHEX() फ़ंक्शन संख्यात्मक मानों के हेक्साडेसिमल समकक्षों पर काम नहीं करता है।

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

SELECT 
  HEX(1234),
  UNHEX('4D2');
. चुनें

परिणाम:

+-----------+--------------+
| HEX(1234) | UNHEX('4D2') |
+-----------+--------------+
| 4D2       | ?            |
+-----------+--------------+

इसे प्रदर्शित करने का दूसरा तरीका यह होगा:

SELECT UNHEX(HEX(1234));

परिणाम:

+------------------+
| UNHEX(HEX(1234)) |
+------------------+
| ?                |
+------------------+

तो यह हमें दिखाता है कि 1234 . के हेक्साडेसिमल समतुल्य 4D2 . है , और UNHEX() फ़ंक्शन उस मान को संभाल नहीं सकता है।

ऐसे मामलों में, आप CONV() . का उपयोग कर सकते हैं इसके बजाय कार्य करें:

SELECT 
  HEX(1234),
  CONV('4D2', 16, 10),
  CONV(HEX(1234), 16, 10);

परिणाम:

+-----------+---------------------+-------------------------+
| HEX(1234) | CONV('4D2', 16, 10) | CONV(HEX(1234), 16, 10) |
+-----------+---------------------+-------------------------+
| 4D2       | 1234                | 1234                    |
+-----------+---------------------+-------------------------+

इस उदाहरण में, हम CONV() . का उपयोग करते हैं मान को बेस-16 (हेक्साडेसिमल) से बेस-10 (दशमलव) में बदलने के लिए।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मैं एक MySQL डेटाबेस में संग्रहीत PHP को कैसे निष्पादित करूं?

  2. MySQL में प्राथमिक कुंजी को अनदेखा करते हुए डुप्लिकेट पंक्तियों को खोजने के 7 तरीके

  3. MySQL में INDEX बनाम KEY का उपयोग करने में क्या अंतर है?

  4. MySQL ड्रॉप विदेशी कुंजी बाधा

  5. PHP और MySQL डेटाबेस का उपयोग करके छवि पूर्वावलोकन और अपलोड करें