我在这样的表格中有以下数据:
create table tutor(
id int,
accessto varchar(8)
);
数据如下所示:
+-------+----------+
| id | accessto |
+-------+----------+
| 69 | b'1011' |
| 162 | b'1011' |
| 232 | b'1011' |
| 257 | b'0010' |
| 258 | b'1011' |
| 258 | b'1011' |
| 258 | b'1011' |
| 258 | b'1011' |
| 258 | b'1011' |
| 258 | b'1011' |
| 258 | b'1110' |
| 258 | b'1001' |
| 258 | b'0011' |
| 258 | b'1001' |
+-------+----------+
我想把它转换成二进制。怎么可能?
我尝试了这些查询,但得到了相同的结果:
select id, cast(accessto as BINARY) from tutor;
select id, convert(accessto,binary) from tutor;
怎么做?
我的预期结果应该是这样的:
+-------+----------+
| id | accessto |
+-------+----------+
| 69 | 11 |
| 162 | 11 |
| 232 | 11 |
| 257 | 2 |
| 258 | 11 |
| 258 | 11 |
| 258 | 11 |
| 258 | 11 |
| 258 | 11 |
| 258 | 11 |
| 258 | 14 |
| 258 | 9 |
| 258 | 3 |
| 258 | 9 |
+-------+----------+
4条答案
按热度按时间mwg9r5ms1#
--将“binary”替换为“unsigned”
dsekswqp2#
您应该使用conv mysql函数
kkbh8khc3#
从你的专栏中删除b
按照下面的转换就可以了
你可以用下面的方法去掉
conv
```select id,CONV(TRIM(LEADING 'b' FROM accessto), 2, 10) from table1
mzaanser4#
你可能要做这件事的'硬'的方式,并创建一个位字段在导师或另一个表,内部转换似乎工作得更好,比铸造和转换