MariaDB
 sql >> Teknologi Basis Data >  >> RDS >> MariaDB

Bagaimana HEX() Bekerja di MariaDB

Di MariaDB, HEX() adalah fungsi string bawaan yang mengembalikan representasi string heksadesimal dari argumennya.

Ini bekerja seperti ini:

  • Jika argumennya berupa angka, HEX() mengembalikan representasi string dari nilai heksadesimal nomor tersebut.
  • Jika argumennya berupa string, HEX() mengembalikan representasi string heksadesimal dari string, di mana setiap byte dari setiap karakter dalam string diubah menjadi dua digit heksadesimal.
  • Mulai dari MariaDB 10.5.0, HEX() dengan INET6 argumen mengembalikan representasi heksadesimal dari string biner 16-byte yang mendasarinya.

Sintaks

Sintaksnya seperti ini:

HEX(N_or_S)

Dimana N_or_S adalah angka atau string.

Contoh

Berikut ini contoh dasarnya:

SELECT HEX(15);

Hasil:

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

Di sini, kita mendapatkan nilai heksadesimal dari 15 , yaitu F .

Dalam desimal, penghitungannya akan seperti ini:0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15.

Tapi dalam heksadesimal, jadinya seperti ini:0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.

Jadi jika angka kita antara 0 dan 9, kita akan mendapatkan nilai yang sama dengan rekan desimalnya.

Berikut adalah contoh lain yang menunjukkan bagaimana sistem heksadesimal meningkatkan nilainya:

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);

Hasil (menggunakan keluaran vertikal):

        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

String

Seperti yang disebutkan, jika argumennya adalah string, HEX() mengembalikan representasi string heksadesimal dari string, di mana setiap byte dari setiap karakter dalam string diubah menjadi dua digit heksadesimal.

Contoh:

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');

Hasil (menggunakan keluaran vertikal):

           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

Mulai dari MariaDB 10.5.0, HEX() dengan INET6 argumen mengembalikan representasi heksadesimal dari string biner 16-byte yang mendasarinya.

Contoh:

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

Hasil:

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

Ini dia lagi, tetapi menggunakan bentuk singkatan dari alamat IPv6 yang sama:

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

Hasil:

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

Argumen Null

Melewati null ke HEX() menghasilkan null :

SELECT HEX(null);

Hasil:

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

Tidak Menyampaikan Argumen

Memanggil HEX() tanpa meneruskan argumen apa pun menghasilkan kesalahan:

SELECT HEX();

Hasil:

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. Unit Tanggal &Waktu Komposit MariaDB Dijelaskan

  2. Panduan untuk MariaDB Columnstore untuk Admin MySQL

  3. Tampilkan Collation di MariaDB

  4. Memulai dengan ProxySQL - Tutorial Load Balancing MySQL &MariaDB

  5. Bagaimana JAM () Bekerja di MariaDB