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

कैसे HEX () मारियाडीबी में काम करता है

मारियाडीबी में, HEX() एक अंतर्निहित स्ट्रिंग फ़ंक्शन है जो अपने तर्क का एक हेक्साडेसिमल स्ट्रिंग प्रतिनिधित्व देता है।

यह इस तरह काम करता है:

  • यदि इसका तर्क एक संख्या है, HEX() संख्या के हेक्साडेसिमल मान का एक स्ट्रिंग प्रतिनिधित्व देता है।
  • यदि तर्क एक स्ट्रिंग है, HEX() स्ट्रिंग का एक हेक्साडेसिमल स्ट्रिंग प्रतिनिधित्व देता है, जहां स्ट्रिंग में प्रत्येक वर्ण का प्रत्येक बाइट दो हेक्साडेसिमल अंकों में परिवर्तित हो जाता है।
  • MariaDB 10.5.0 में शुरू, HEX() एक INET6 . के साथ तर्क अंतर्निहित 16-बाइट बाइनरी स्ट्रिंग का हेक्साडेसिमल प्रतिनिधित्व देता है।

सिंटैक्स

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

HEX(N_or_S)

जहां N_or_S एक संख्या या एक स्ट्रिंग है।

उदाहरण

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

SELECT HEX(15);

परिणाम:

+---------+
| HEX(15) |
+---------+
| F       |
+---------+

यहाँ, हमें 15 . का हेक्साडेसिमल मान मिला है , जो F . है ।

दशमलव में, गिनती इस प्रकार होगी:0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15.

लेकिन हेक्साडेसिमल में, यह इस प्रकार है:0, 1, 2, 3, 4, 5, 6, 7, 8, 9, ए, बी, सी, डी, ई, एफ।

तो अगर हमारी संख्या 0 और 9 के बीच होती, तो हमें उसके दशमलव समकक्ष के समान मान मिलता।

यहां एक और उदाहरण दिया गया है जो दर्शाता है कि कैसे हेक्साडेसिमल सिस्टम अपने मूल्यों को बढ़ाता है:

SELECT 
    HEX(0),
    HEX(1),
    HEX(2),
    HEX(3),
    HEX(4),
    HEX(5),
    HEX(6),
    HEX(7),
    HEX(8),
    HEX(9),
    HEX(10),
    HEX(11),
    HEX(12),
    HEX(13),
    HEX(14),
    HEX(15),
    HEX(16),
    HEX(17),
    HEX(18),
    HEX(19),
    HEX(20),
    HEX(21),
    HEX(22),
    HEX(23),
    HEX(24),
    HEX(25),
    HEX(26),
    HEX(27),
    HEX(28),
    HEX(29),
    HEX(30),
    HEX(31),
    HEX(32),
    HEX(789456768);

परिणाम (ऊर्ध्वाधर आउटपुट का उपयोग करके):

        HEX(0): 0
        HEX(1): 1
        HEX(2): 2
        HEX(3): 3
        HEX(4): 4
        HEX(5): 5
        HEX(6): 6
        HEX(7): 7
        HEX(8): 8
        HEX(9): 9
       HEX(10): A
       HEX(11): B
       HEX(12): C
       HEX(13): D
       HEX(14): E
       HEX(15): F
       HEX(16): 10
       HEX(17): 11
       HEX(18): 12
       HEX(19): 13
       HEX(20): 14
       HEX(21): 15
       HEX(22): 16
       HEX(23): 17
       HEX(24): 18
       HEX(25): 19
       HEX(26): 1A
       HEX(27): 1B
       HEX(28): 1C
       HEX(29): 1D
       HEX(30): 1E
       HEX(31): 1F
       HEX(32): 20
HEX(789456768): 2F0E2780

स्ट्रिंग्स

जैसा कि उल्लेख किया गया है, यदि तर्क एक स्ट्रिंग है, HEX() स्ट्रिंग का एक हेक्साडेसिमल स्ट्रिंग प्रतिनिधित्व देता है, जहां स्ट्रिंग में प्रत्येक वर्ण का प्रत्येक बाइट दो हेक्साडेसिमल अंकों में परिवर्तित हो जाता है।

उदाहरण:

SELECT 
    HEX('a'),
    HEX('aa'),
    HEX('A'),
    HEX('AA'),
    HEX('b'),
    HEX('bb'),
    HEX('B'),
    HEX('BB'),
    HEX('Cat'),
    HEX('Dog'),
    HEX('Paws & Claws'),
    HEX('Zebra');

परिणाम (ऊर्ध्वाधर आउटपुट का उपयोग करके):

           HEX('a'): 61
          HEX('aa'): 6161
           HEX('A'): 41
          HEX('AA'): 4141
           HEX('b'): 62
          HEX('bb'): 6262
           HEX('B'): 42
          HEX('BB'): 4242
         HEX('Cat'): 436174
         HEX('Dog'): 446F67
HEX('Paws & Claws'): 50617773202620436C617773
       HEX('Zebra'): 5A65627261

INET6

मारियाडीबी 10.5.0 में शुरू, HEX() एक INET6 . के साथ तर्क अंतर्निहित 16-बाइट बाइनरी स्ट्रिंग का हेक्साडेसिमल प्रतिनिधित्व देता है।

उदाहरण:

SELECT HEX(CAST('2001:0db8:3c4d:0015:0000:0000:1a2f:1a2b' AS INET6));

परिणाम:

+---------------------------------------------------------------+
| HEX(CAST('2001:0db8:3c4d:0015:0000:0000:1a2f:1a2b' AS INET6)) |
+---------------------------------------------------------------+
| 20010DB83C4D0015000000001A2F1A2B                              |
+---------------------------------------------------------------+

यहाँ यह फिर से है, लेकिन उसी IPv6 पते के संक्षिप्त रूप का उपयोग कर रहा है:

SELECT HEX(CAST('2001:db8:3c4d:15::1a2f:1a2b' AS INET6));

परिणाम:

+---------------------------------------------------+
| HEX(CAST('2001:db8:3c4d:15::1a2f:1a2b' AS INET6)) |
+---------------------------------------------------+
| 20010DB83C4D0015000000001A2F1A2B                  |
+---------------------------------------------------+

अशक्त तर्क

पासिंग null करने के लिए HEX() परिणाम null :

SELECT HEX(null);

परिणाम:

+-----------+
| HEX(null) |
+-----------+
| NULL      |
+-----------+

कोई तर्क नहीं पारित करना

कॉलिंग HEX() कोई तर्क पारित किए बिना त्रुटि उत्पन्न होती है:

SELECT HEX();

परिणाम:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'HEX'

  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 या MariaDB के लिए Oracle RAC HA सॉल्यूशन की गैलेरा क्लस्टर से तुलना करना

  2. मारियाडीबी स्ट्रिंग फ़ंक्शंस (पूरी सूची)

  3. डेबियन और उबंटू पर मारियाडीबी 10 कैसे स्थापित करें

  4. मारियाडीबी में WEEKDAY () बनाम DAYOFWEEK ():क्या अंतर है?

  5. गैलेरा क्लस्टर पर एसएसटी ऑपरेशन को कैसे रोकें या थ्रॉटल करें