У меня есть таблица вроде этого:Как я могу присвоить значение битового типа данных переменной?
// mytable
+---------+-------------+
| id | bitmap |
+---------+-------------+
| int(11) | BIT(10) |
+---------+-------------+
| 1 | 01111111000 |
| 2 | 01111111111 |
| 3 | 00000000001 |
+---------+-------------+
И вот некоторые примеры текущего и ожидаемого результата:
example1:
SELECT bitmap INTO @var FROM mytable WHERE id = 1;
SELECT @var;
/* Current output: 1016
Expected output: 01111111000
*/
example2:
SELECT bitmap INTO @var FROM mytable WHERE id = 2;
SELECT @var;
/* Current output: 1023
Expected output: 01111111111
*/
Example3:
SELECT bitmap INTO @var FROM mytable WHERE id = 3;
SELECT @var;
/* Current output: 1
Expected output: 00000000001
*/
Ну, как я могу это сделать? Как вы видите, я пытаюсь присвоить исходное значение бита этого столбца этой переменной (но похоже, что есть преобразование, как я могу избежать этого?). Я действительно не знаю, почему @var
не содержит двоичное значение.
Можете ли вы поделиться ** SQL скрипку **? – 1000111