数据库明明有数据,sql语句没有问题,但是查询不出来?

        昨天遇到一个很奇葩的问题,数据库里有一张表,该表有个字段(就叫它test)是float类型,表里一共有4条测试数据,分别是43.6025、43.6025、43.6025、47.6025,使用select * from 表名 where test = 43.6025 ,查询出3条数据 ,使用select * from 表名 where test = 47.6025 却查询为空,改成其他数字,也查询不出来,唯独43.6025可以查询出结果。

        一下子懵住了,一开始想是不是空格的问题,把数据删除,重新插入也还是查询不出来。上网查了,说可能是表损坏了,但是检查了表是没有问题的。把test字段改成double类型,就可以查询出结果,一旦改回来又查询不到。后来老大给建议查询时候加个去空格的要求,如select * from 表名 where trim(test) = 47.6025,终于查询出来了。

        感觉应该是储存的格式有问题,导致有空格存入了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值