我想在表中添加一个BINARY(35)
列,其中写入的值的位分别赋予特定含义。
即。 " 000110001010 ..."
第1位:第1天, 第2位:第2天, 等。
我已经找到了如何将值写入表格
INSERT INTO MYTABLE VALUES(x'03011...');
但如何从数据库中检索它?
如果我将列强制转换为字符串,我会松开值中第一个x'00' (NULL)
之后的所有内容。在我的申请中,完全有可能他们仍然会过去。
由于我使用的是C ++连接器,因此我只使用其API函数来检索数据,因此我需要知道所检索数据的类型。 API没有getBinary()
功能。如果您有任何人可以告诉我使用哪种功能,我真的很感激。
答案 0 :(得分:1)
从另一个Q& A网站获得答案。
SELECT HEX(mycolumn)FROM MYTABLE;
如果有人想了解更多相关信息: 十六进制文字:https://dev.mysql.com/doc/refman/5.7/en/hexadecimal-literals.html
比特字面文字:https://dev.mysql.com/doc/refman/5.7/en/bit-field-literals.html
答案 1 :(得分:0)
子串(将列转换为varchar),1,1)