Di MariaDB, UNHEX()
adalah fungsi string bawaan yang melakukan operasi kebalikan dari HEX()
fungsi.
Sedangkan, HEX()
fungsi mengembalikan representasi heksadesimal dari string yang diberikan, UNHEX()
fungsi mengembalikan representasi string dari nilai heksadesimal yang diberikan.
Khususnya, UNHEX()
menafsirkan setiap pasangan digit heksadesimal dalam argumennya sebagai angka, dan kemudian mengubahnya menjadi karakter yang diwakili oleh angka tersebut.
Hasilnya dikembalikan sebagai string biner.
Sintaks
Sintaksnya seperti ini:
UNHEX(str)
Dimana str
adalah nilai heksadesimal untuk menjadi "tidak diekstraksi".
Contoh
Berikut ini contoh dasarnya:
SELECT UNHEX('61');
Hasil:
+-------------+| UNHEX('61') |+-------------+| a |+-------------+
Representasi heksadesimal dari huruf kecil a
adalah 61
, dan dengan meneruskan 61
ke UNHEX()
fungsi, kita mendapatkan huruf kecil a
.
Berikut adalah contoh yang dijalankan melalui beberapa nilai heksadesimal lagi:
SELECT
UNHEX('61'),
UNHEX('6161'),
UNHEX('41'),
UNHEX('4141'),
UNHEX('62'),
UNHEX('6262'),
UNHEX('42'),
UNHEX('4242'),
UNHEX('436174'),
UNHEX('446F67'),
UNHEX('50617773202620436C617773'),
UNHEX('5A65627261');
Hasil (menggunakan keluaran vertikal):
UNHEX('61'):a UNHEX('6161'):aa UNHEX('41'):A UNHEX('4141'):AA UNHEX('62'):b UNHEX('6262'):bb UNHEX('42'):B UNHEX('4242'):BB UNHEX('436174'):Cat UNHEX('446F67'):DogUNHEX('50617773202620436C617773'):Cakar &Cakar UNHEX('5A65627261'):Zebra
Dibandingkan dengan HEX()
Berikut ini contoh sarang HEX()
di dalam UNHEX()
untuk mengembalikan string asli:
SELECT
HEX('Homer Jay'),
UNHEX(HEX('Homer Jay'));
Hasil:
+--------------------+------------------------- +| HEX('Homer Jay') | UNHEX(HEX('Homer Jay')) |+--------------------+----------------- --------+| 486F6D6572204A6179 | Homer Jay |+---------+------------------------- +
Namun, ingatlah bahwa UNHEX()
mengembalikan hasilnya sebagai string biner:
SELECT
COLLATION('Homer Jay') AS "Literal",
COLLATION(HEX('Homer Jay')) AS "HEX()",
COLLATION(UNHEX(HEX('Homer Jay'))) AS "UNHEX()";
Hasil:
+-----------------+-----------------+---------+ | harfiah | HEX() | UNHEX() |+-------+------------------+--------- +| utf8_general_ci | utf8_general_ci | biner |+-----------------+------------------+---------+Argumen Null
Melewati
null
keUNHEX()
menghasilkannull
:SELECT UNHEX(null);
Hasil:
+-------------+| UNHEX(null) |+-------------+| NULL |+-------------+Tidak Melaporkan Argumen
Memanggil
UNHEX()
tanpa memberikan argumen apa pun menghasilkan kesalahan:SELECT UNHEX();
Hasil:
ERROR 1582 (42000):Jumlah parameter salah dalam panggilan ke fungsi asli 'UNHEX'