为了账号安全,请及时绑定邮箱和手机立即绑定

mysql varchar 查询问题 ?

/ 猿问

mysql varchar 查询问题 ?

30秒到达战场 2019-04-19 15:11:18

mysql varchar 查询问题 


查看完整描述

5 回答

?
陪伴而非守候

根据你1,2点原因我做出如下推断:
你导进去的数据daihao字段varchar是否包含了空格或者其它特殊字符,或者存在编码问题;
select * from a where daihao= 18这个查询工具自动转成了数字类型,肯定是查询没有问题的。

查看完整回答
反对 回复 2019-04-23
?
缥缈止盈

直接用> < 啊
比如
select * from 表 where 字段 > 100
---补充
你什么数据库啊。varchar类型也可以用。
create table test(
col1 varchar(2)
)
declare @i int
set @i = 1
while @i< 100
begin
insert into test values(convert(varchar(2),@i))
set @i = @i + 1
end
select * from test where col1 > 50 --正确
select * from test where convert(numeric(10),col1) > 50 --正确
select * from test where col1 > '50' --错误
drop table test
你自己测试吧
如果你非要把类型转成数值型也可以但这是用不到索引了



查看完整回答
反对 回复 2019-04-23
?
守着一只汪

可以把varchar转换成别的类型
比如 decimal,float之类
例:
select * from 表 where convert(float,字段)>100

查看完整回答
反对 回复 2019-04-23
?
哆啦的时光机

条件语句
where id != '1' and id != '2' --id字段为char、nchar、varchar型等等

where id != 1 and id != 2 --id字段为int、smallint型

查看完整回答
反对 回复 2019-04-23
?
慕侠2389804

查询的时候加个这个,distincy,举个例子:$list['pay_user'] = $this->get_table("orders")->where("pay_time>=$time2 and pay_time<$time1 and is_recharge=%d and statu=%d",1,1)->count('DISTINCT username');就这样,你就可以查出不相同的字段了

查看完整回答
反对 回复 2019-04-23

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信