[分享]学习mysql bit(n)_MySQL, Oracle及数据库讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MySQL, Oracle及数据库讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 2017 | 回复: 0   主题: [分享]学习mysql bit(n)        下一篇 
shijian111
注册用户
等级:新兵
经验:46
发帖:58
精华:0
注册:2012-2-15
状态:离线
发送短消息息给shijian111 加好友    发送短消息息给shijian111 发消息
发表于: IP:您无权察看 2014-11-28 14:41:10 | [全部帖] [楼主帖] 楼主

学习经验

create table bit16(id int,a bit(16));


   如果直接添加 insert into bit16 values (1,'101010101000000');会报错.

ERROR 1406 (22001): Data too long for column 'a' at row 1


   正确添加语句为

insert into bit16 values (1,b'101010101000000');


   前面添加b是添加2进制。

参考资料

用实际例子举例:

mysql> CREATE TABLE test(id int,a bit(8));
mysql> INSERT INTO test VALUES(1,b‘00111010′);
mysql> INSERT INTO test VALUES(2,b‘00111000′);
mysql> INSERT INTO t


多的不说,用实际例子举例:

mysql> CREATE TABLE test(id int,a bit(8));
mysql> INSERT INTO test VALUES(1,b‘00111010′);
mysql> INSERT INTO test VALUES(2,b‘00111000′);
mysql> INSERT INTO test VALUES(3,’00111010′);
mysql> INSERT INTO test VALUES(4,’1′);
mysql> SELECT id,a, a + 0 FROM test order by id;
+——+——-+——+
| id    |    a    | a + 0 |
+——+——-+——+
|    1  |   :     |    58    |
|    2   |   8   |    56    |
|    3  |   ?    |    255 |
|    4   |   1   |    49   |
+——+——-+——+


b表示输入的字符串按binary转换,没有b标示的按ASCII码值转换。默认bit的值是转换成ASCII码的值的。a+0表示得到binary对应的数字的值。不在ASCII码范围的就用11111111(只针对本例)。 




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论