在mysql数据库中查询在某一个范围内的数据,数据是数组怎么查询?

在mysql数据库中查询在某一个范围内的数据,数据是数组怎么查询?,第1张

假设是数组形式如:需要查1,2,3,4,5,6的数据就用in :select * from table where num in(1,2,3,4,5,6)

如果需要查询范围内的,如:查询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

这句的表名和字段名你替换成你自己的


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6693313.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-26
下一篇 2023-03-26

发表评论

登录后才能评论

评论列表(0条)

保存