解决:
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 表名 --这样就是把空值赋值为0oracle的话select nvl(字段,0) from 表名
mysql的话select ifnull(字段,0) from 表名