原文链接:https://www.cnblogs.com/cuizhf/archive/2013/05/17/3083988.html

Mysql关于bit类型的用法:

官方的资料如下:

9.1.5. 位字段值

可以使用b'value'符号写位字段值。value是一个用0和1写成的二进制值。

位字段符号可以方便指定分配给BIT列的值:

mysql> CREATE TABLE t (b BIT(8));

mysql> INSERT INTO t SET b = b'11111111';

mysql> INSERT INTO t SET b = b'1010';

+------+----------+----------+----------+

| b+0  | BIN(b+0) | OCT(b+0) | HEX(b+0) |

+------+----------+----------+----------+

| 255 | 11111111 | 377      | FF       ||   10 | 1010     | 12       | A        |

+------+----------+----------+----------+

Mysql:bit类型的查询与插入

Posted 10月 11, 2010 by logineran in MYSQL. Tagged: MYSQL.

mysql有种字段类型是bit。

1.如何插入呢?
它的插入必须采用:
可以使用b’value’符号写位字段值。value是一个用0和1写成的二进制值。
mysql> create table an_bit (id bit(8));
Query OK, 0 rows affected (0.00 sec)

mysql> insert into an_bit values (11);
Query OK, 1 row affected (0.00 sec)
虽然可以插入,但是实际插入的数值是11(十进制),不是3(十进制)。

mysql> insert into an_bit values (b’11′);
Query OK, 1 row affected (0.00 sec)
这才是正确的插入方法。 插入的值是3(十进制)

2. 如何查询呢?
mysql> select * from an_bit;
+——+
| id   |
+——+
|
|
|     |
+——+
2 rows in set (0.00 sec)
这样是不对的,看不到东西

mysql> select id+0 from an_bit;
+——+
| id+0 |
+——+
|   11 |
|    3 |
+——+
2 rows in set (0.00 sec)
这是正确的,可以看到十进制的值。

mysql> select bin(id+0) from an_bit;
+———–+
| bin(id+0) |
+———–+
| 1011      |
| 11        |
+———–+
2 rows in set (0.00 sec)
这是二进制的值

mysql> select oct(id+0) from an_bit;
+———–+
| oct(id+0) |
+———–+
| 13        |
| 3         |
+———–+
2 rows in set (0.00 sec)
这是八进制的值

mysql> select hex(id+0) from an_bit;
+———–+
| hex(id+0) |
+———–+
| B         |
| 3         |
+———–+
2 rows in set (0.00 sec)
这是十六进制的值

Mysql:bit类型的查询与插入的更多相关文章

  1. MySQL枚举类型enum字段在插入不在指定范围的值时, 是否是"插入了enum的第一个值"?

    刚刚在看<<深入浅出MySQL>>一书的"ENUM类型"一节, 以下面的代码举例, 得出结论: "还可以看出对于不在ENUM指定范围内的值时, 并 ...

  2. Mysql 字段类型与查询类型不一致导致索引使用失败

    今天优化数据库的慢查询,有一条Sql让我百思不得其jie,就是他了. SELECT * FROM test WHERE user_id=1; 用explain 去分析一下 索引都有了,为什么还要扫描全 ...

  3. mysql 从一个表查询数据插入另一个表或当前表

    mysql insert into 表明(uid,lng,lat) SELECT uuid,lng,lat FROM 表明

  4. JDBC连接(MySql)数据库步骤,以及查询、插入、删除、更新等十一个处理数据库信息的功能

    主要内容:  JDBC连接数据库步骤. 一个简单详细的查询数据的例子. 封装连接数据库,释放数据库连接方法. 实现查询,插入,删除,更新等十一个处理数据库信息的功能.(包括事务处理,批量更新等) 把十 ...

  5. 一次作业过程及其问题的记录:mysql建立数据库、建表、查询和插入等

    前言 这次的作业需要我建立一个小的数据库. 这次作业我使用了mysql,进行了建库.建表.查询.插入等操作. 以下是对本次作业相关的mysql操作过程及过程中出现的问题的记录. 正文 作业中对数据库的 ...

  6. mysql查询优化之四:优化特定类型的查询

    本文将介绍如何优化特定类型的查询. 1.优化count()查询count()聚合函数,以及如何优化使用了该函数的查询,很可能是mysql中最容易被误解的前10个话题之一 count() 是一个特殊的函 ...

  7. MySQL double 类型查询不准确的问题

    问题 有如下查询: SELECT * FROM <table-name> WHERE price > 32.99; 结果竟然包含了 32.99 的数据行. 原因 price 的类型是 ...

  8. MySql频繁查询、插入数据

    当我们需要频繁地从数据库查询.插入数据时,可以将这些数据库操作汇集写到同一个类里,作为工具类直接调用. 将数据库的具体信息保存在.properties文件中,用log4j作为日志记录 MySql.ja ...

  9. mysql 控制台环境下查询中文数据乱码,插入、更新中文数据不成功

    mysql 控制台环境下查询中文数据乱码,插入.更新中文数据不成功         登录mysql密码是加入编码参数--default-character-set,中文用gbk mysql -uroo ...

随机推荐

  1. Hibernate实现limit查询报错 :unexpected token: limit near line 1, column 33 [from pojo.Product p order by id limit ?,? ]

    原因: hibernate无法识别limit,  hql语句更不能这样写String hql="from Product p order by id limit ?,? "; 解决 ...

  2. Vue踩坑日记

    1.错误:找不到模块'eslint-config-standard' https://github.com/standard/eslint-config-standard/issues/84 我遇到了 ...

  3. 一个茴字有三种写法——吐槽C#9.0的Records

    最近是微软开了Build 2020大会,由于疫情原因,改成了在线举行,Build大会上,C#公布9.0版本. 我个人对于C#的更新向来都是喜闻乐见,乐于接受的,对于博客园上某些人天天嘲讽C#只会增加语 ...

  4. java-五大内存图

    jrm—Java虚拟机在进行程序运行时会向cpu申请一个内存约为10%左右,该内存被jrm分为5大区域 一:栈内存(stack)用来存储变量 当栈消失时,变量也随之消失.二:堆内存(heap)在Jav ...

  5. TCP实现连接传输案例

    使用的类    ServerSocket 服务器端        构造方法:ServerSocket(端口号); 接收端使用    方法:accept(); 返回一个 Socket对象    getI ...

  6. 2020由浅入深最强Java面试题

    1.String,StringBuffer和StringBuilder有什么区别?     String是字符串常量,不可变对象,每次对String修改都等同于生成了一个新的String象,然后将指针 ...

  7. 集合框架之ArrayList -Java

    ArrayList 1.与数组的区别 如果要存放多个对象,可以使用数组,但是数组会有长度的限制,会出现不够用或者是浪费的情况. 为了解决数组的局限性引入了容器的概念,最常用的容器就是ArrayList ...

  8. 【JavaScript数据结构系列】01-数组Array

    [JavaScript数据结构系列]01-数组Array 码路工人 CoderMonkey 转载请注明作者与出处 # [JavaScript数据结构系列] # 01-数组Array 数组: 是有序的元 ...

  9. [Unity2d系列教程] 006.Unity如何根据图片自动生成Animator

    Unity制作2D产品的时候,我们在制作动画的时候,要不断的生成Animation,Animator等等资源,如果动画一多的话,就变得麻烦.由于Unity是支持插件开发的,我们可以添加一个Editor ...

  10. [PHP学习教程 - 数字]001.数字补0(Num padding)

    引言:在日常工作中,经常要用到数字前后补0的操作,如:日期格式yyyy-MM-dd等等. 在php中有多种前后填充函数——今天,我们就介绍常用的两种,实现数字补零: str_pad sprintf 大 ...