mysql varchar 查询问题 10

数据是从excel导入到mysql的其中一个字段是varchar类型,存储的是一串数字用这串数字查询时查询不出数据例:select*fromawheredaihao=‘1... 数据是从excel导入到mysql的 其中一个字段是varchar类型,存储的是一串数字
用这串数字查询时查询不出数据
例:select * from a where daihao= ‘18’
数据库中 字段 daihao 列中有18 ,但是查询结果中为空

查找原因:
1、将查询语句改为select * from a where daihao= 18 后查询成功,但是daihao列中有00018,0018,18等,都能一起查出,希望的结果是,只查处daihao为18的数据
2、将数据库中字段daihao的18删除,再手动敲入18后,上述查询语句查询成功
好几千条数据,真没法一个一个修改

用php将所有数据读出,然后清空daihao列,再然后写入读出的数据,结果还是不能查询

不知道这是怎么回事,需要怎么处理。请大侠帮忙
这是daihao字段数据,类型是varchar(50)

问题已解决--解决方法:
将数据库daihao字段数据读出来,放入文本框中,然后从文本框中读取数据放入数据库daihao字段中,问题就解决了

说明确实是导入数据时,mysql数据格式不知道是怎么处理的,导致不能直接用daihao=‘查询’
有待进一步了解
展开
 我来答
java_tang_java
推荐于2017-05-18 · TA获得超过244个赞
知道小有建树答主
回答量:170
采纳率:77%
帮助的人:94.4万
展开全部
根据你1,2点原因我做出如下推断:
你导进去的数据daihao字段varchar是否包含了空格或者其它特殊字符,或者存在编码问题;

select * from a where daihao= 18这个查询工具自动转成了数字类型,肯定是查询没有问题的。
lcswsm
2014-09-18 · TA获得超过488个赞
知道小有建树答主
回答量:716
采纳率:0%
帮助的人:509万
展开全部
SELECT *
FROM `a`
WHERE CAST( daihao AS CHAR ) = "18"
LIMIT 0 , 30
测试可以检查出结果
追问
还是查不出结果,我觉得是mysql中这个varchar字段有问题 不知道应该怎么改
追答
mysql 数据表截个图,这个在我的本地服务器上测试可以查询出来的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
momo1938
2014-09-18 · TA获得超过224个赞
知道小有建树答主
回答量:293
采纳率:100%
帮助的人:216万
展开全部
select * from a where daihao like ‘18’;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式