Поиск

Шестнадцатеричные значения

MySQL поддерживает шестнадцатеричные значения. В числовом контексте они вы­ступают в качестве целых (с 64-битной точностью). В строковом контексте они являют­ся бинарными строками, в которых каждая пара шестнадцатеричных цифр преобразует­ся в символ:

mysql SELECT x'4D7953514C;

- 'MySQL1 mysql SELECT Oxa+0;

- 10 mysql SELECT 0x5061756c;

- 'Paul'

В MySQL 4.1 (и в MySQL 4.0 при использовании опции -new), типом по умолчанию для шестнадцатеричного значения является строковый. Если вы хотите иметь гарантию, что значение будет восприниматься как число, можете использовать cast (.. .as UNSIGNED):

mysql SELECT 0x41, CAST(0x41 AS UNSIGNED); - 'A', 65

Синтаксис Ох базируется на ODBC. В ODBC шестнадцатеричные строки часто используются для задания значений столбцов типа BLOB. Синтаксис х' шестнадцатеричная_строка' является новым в версии 4.0 и основан на стандарте SQL.

Начиная с MySQL 4.0.1, вы можете преобразовать строку или число в строку в шест-надцатеричном формате с помощью функции HEX ():

mysql SELECT HEX('cat');

- '636174' mysql SELECT 0x636174;

- 'cat'