如果需要查询范围内的,如:查询1-6范围内的可以:
select * from table where num >1
and num <6
1.假设数据库中有一个名为TestTest的表。表格内容如下图所示。
2.Select*fromTesttestwhereMonth(date)='9';,它表示对TestTest表中的9月份记录的查询。
3.单击“Run”执行SQL语句,用户可以从下面看到,9月份的三个记录被查询了。
4.Select*fromTesttestwhereyear(Date)='2017';在美国2017年是被质疑的一年。如下图所示,2017年仅查询了一条记录,如下图。
先创建一个函数
如下
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这句的表名和字段名你替换成你自己的
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)