您的当前位置:首页mysql bit类型 使用select查询无法看到其值

mysql bit类型 使用select查询无法看到其值

2023-11-12 来源:哗拓教育

解决:

1、查询十进制:+0

 select id+0 from table;    

2、查询二进制:

 select bin(id+0) from test; 

3、查询八进制:

 select oct(id+0) from test;

4、查询十六进制:

 select hex(id+0) from test; 

 

补充:

创建bit类型字段

其中括号里的8表示二进制长度。如8表示最大为11111111,插入的值超过这个会被设为255;

CREATE TABLE t (b BIT(8));

插入:

INSERT INTO t SET b = b‘11111111‘;

select b+0 from t;mysql> select b+0,bin(b+0),oct(b+0),hex(b+0) from t;+------+----------+----------+----------+| b+0  | bin(b+0) | oct(b+0) | hex(b+0) |+------+----------+----------+----------+|   10 | 1010     | 12       | A        |+------+----------+----------+----------+1 row in set (0.00 sec)

 

注意:

创建bit类型字段的时候,BIT(),括号里的数字设为1时,

bit类型在数据库中存储为0/1,或为false/true;

查询的时候 bit类型可以写为 0,1,true,false,或带单引号;

在实体映射中bit类型映射为Boolean类型;

 

mysql bit类型 使用select查询无法看到其值

标签:映射   oct   字段   中括号   类型   str   数据库   sql   mys   

小编还为您整理了以下内容,可能对您也有帮助:

MySQL表里有值,但是条件查询却查不出来

碰到了同样的问题,最后我处理的方法是,create table 新表 as (select * from 旧表);这样新建的表中会有旧表中所有的数据,包含旧表中查不出来的。删掉旧表,把新表给为旧表名就可以正常使用了。

mysql在控制后台用select查询数据,结果显示不全怎么办?

首先你要干什么?在控制台查询?

我如果只是看一下内容,一般也使用客户端,可以使用sqlyog,也可以使用phpmyadmin追问在客户端查看数据表

mysql 存储过程中的查询语句无法查询到数据

一条语句实现的方法不如存储过程方便,而且不如存储过程效率高,楼主写个存储过程会比较好

INSERT INTO log (date, ip) SELECT '2014-01-01' as date, '192.168.1.1' as ip FROM log WHERE NOT EXISTS ( SELECT * FROM log t WHERE t.data = '2014-01-01' AND t.ip = '192.168.1.1')

mysql 存储过程中的查询语句无法查询到数据

一条语句实现的方法不如存储过程方便,而且不如存储过程效率高,楼主写个存储过程会比较好

INSERT INTO log (date, ip) SELECT '2014-01-01' as date, '192.168.1.1' as ip FROM log WHERE NOT EXISTS ( SELECT * FROM log t WHERE t.data = '2014-01-01' AND t.ip = '192.168.1.1')

myeclipse中使用select语句查询mysql中的汉字,就是查不出来,也没有乱码,单独操作数据库时能查出来

老兄啊 当然有问题啦

Connection conn=DBUtil.getConnection();

PreparedStatement ps;

String sql="select * from department where dept_name like '%"+name+"%'";

ps = conn.prepareStatement(sql);

System.out.println("sql---"+sql);

ResultSet rs=ps.executeQuery();

System.out.println(rs);

while(rs.next()){

在这里你使用了预编译prepareStatement,但在在写SQL语句的时候你又用了字符串拼接,如果 你要使用字符串拼接,那么你就直接将这个查询的操作写到一个方法里面,然后将name的值当作参数传递进来。如果你想使用预编译,这里你就应该将name写成?,然后用ps.set(1,value)。我分析你的原因就是,你用了预编译却没有用set()方法赋值,用了字符串拼接却没有参name的值进来,最后like '%"+name+"%'"中的name始终是空的,所以查询不到结果!

select查询出来的值是空的怎么赋值啊

这个得看是什么数据库了

sqlserver的话

select isnull(字段,0) from 表名 --这样就是把空值赋值为0

oracle的话select nvl(字段,0) from 表名

mysql的话select ifnull(字段,0) from 表名

显示全文