mysql 查询 一定数值范围数据 50
比如查一个字段>1000<2000这样一个条件我希望出现1000到2000的数值但是我数据里面类似1500acdg213、1212f031dd这样的数据也出现了怎么办这个...
比如 查 一个字段>1000 <2000 这样一个条件 我希望出现 1000到 2000的 数值 但是我数据里面 类似 1500acdg213 、1212f031dd 这样的数据也出现了 怎么办 这个字段 是varchar 类型
展开
展开全部
先创建一个函数
如下
CREATE FUNCTION isnum(
p_string VARCHAR(32)
)
RETURNS int(4)
NOT DETERMINISTIC
SQL SECURITY DEFINER
COMMENT '检查字符串是否为纯数字'
BEGIN
/*检查字符串是否为纯数字*/
/*返回值:1-为纯数字 0-非纯数字*/
DECLARE iResult INT DEFAULT 0;
SELECT p_string REGEXP '^[0-9]*$' INTO iResult;
IF iResult = 1 THEN
RETURN 1;
ELSE
RETURN 0;
END IF;
END;
然后
select * from 表名 where isnum(字段名) <>0 and cast(字段名 as DECIMAL) >1000 and cast(字段名 as DECIMAL)<2000
这句的表名和字段名你替换成你自己的
展开全部
你查询的时候不要用*号,指定字段名不就行了
select 你要查询的字段 $table where 字段>1000 and 字段<2000;
这样就可以了吧
select 你要查询的字段 $table where 字段>1000 and 字段<2000;
这样就可以了吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select ff from table where ff*1>1000 and ff*1<2000
更多追问追答
追问
这个方法让我眼前一亮 不过没成功 跟没有 乘1 是一个效果
追答
我测试是成功的,你的版本多少?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询