MariaDB
 sql >> база данни >  >> RDS >> MariaDB

Как работи UNHEX() в MariaDB

В MariaDB, UNHEX() е вградена функция низ, която изпълнява обратната операция на HEX() функция.

Като има предвид, че HEX() функцията връща шестнадесетично представяне на даден низ, UNHEX() функцията връща низовото представяне на дадена шестнадесетична стойност.

По-конкретно, UNHEX() интерпретира всяка двойка шестнадесетични цифри в своя аргумент като число и след това я преобразува в символа, представен от числото.

Резултатът се връща като двоичен низ.

Синтаксис

Синтаксисът е така:

UNHEX(str) 

Където str е шестнадесетичната стойност, която да бъде „нехексирана“.

Пример

Ето един основен пример:

SELECT UNHEX('61'); 

Резултат:

+------------+| UNHEX('61') |+-----------+| a |+------------+

Шестнадесетичното представяне на малката буква a е 61 , и така чрез подаване на 61 към UNHEX() функция, получаваме малката буква a .

Ето пример, който преминава през още няколко шестнадесетични стойности:

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

Резултат (с помощта на вертикален изход):

 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'):Котка UNHEX('446F67'):DogUNHEX('50617773202620436C617773'):Лапи и нокти UNHEX16'5A:Zebra62 

В сравнение с HEX()

Ето един пример, който влага HEX() вътре в UNHEX() за да върнете оригиналния низ:

SELECT 
    HEX('Homer Jay'),
    UNHEX(HEX('Homer Jay')); 

Резултат:

+--------------------+------------------- +| HEX('Homer Jay') | UNHEX(HEX('Homer Jay')) |+-------------------+----------------- --------+| 486F6D6572204A6179 | Хоумър Джей |+--------------------+------------------------ +

Все пак, имайте предвид, че UNHEX() връща резултата си като двоичен низ:

SELECT 
    COLLATION('Homer Jay') AS "Literal",
    COLLATION(HEX('Homer Jay')) AS "HEX()",
    COLLATION(UNHEX(HEX('Homer Jay'))) AS "UNHEX()"; 

Резултат:

+-----------------+----------------+--------+ | Буквално | HEX() | UNHEX() |+-----------------+----------------+-------- +| utf8_general_ci | utf8_general_ci | двоичен |+-----------------+----------------+--------+ 

Нулеви аргументи

Предаването на null към UNHEX() води до null :

SELECT UNHEX(null); 

Резултат:

+------------+| UNHEX(нула) |+------------+| NULL |+------------+

Не се предават аргументи

Извикване на UNHEX() без подаване на аргументи води до грешка:

SELECT UNHEX(); 

Резултат:

ГРЕШКА 1582 (42000):Неправилен брой параметри в извикването на естествена функция „UNHEX“

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Архивиране на база данни - Сравняване на MariaDB Mariabackup и Percona Xtrabackup

  2. Сравняване на DBaaS решения при отказ с ръчни настройки за възстановяване

  3. 8 начина за добавяне на микросекунди към стойност за дата и час в MariaDB

  4. Обявяване на поддръжка на MariaDB 10.2 - ClusterControl 1.5

  5. Мигриране на база данни на Azure за MySQL/MariaDB към On-Prem сървър