Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在两个值之间筛选mysql表中的数据_Mysql - Fatal编程技术网

在两个值之间筛选mysql表中的数据

在两个值之间筛选mysql表中的数据,mysql,Mysql,我在mysql中有一个表,其中名称按如下自动递增顺序存储 344100.htm 344101.htm --- --- 477201.htm 477202.htm -- --- 888999.htm 我想过滤掉所有包含200.htm到999.htm之间数据的行,作为最后三位,范围从200到999 我尝试使用like,但在这种情况下,我无法给出>,我也尝试了使用like,但它不起作用 SELECT * FR

我在mysql中有一个表,其中名称按如下自动递增顺序存储

     344100.htm
     344101.htm
     ---
     ---
     477201.htm
     477202.htm
     --
     ---
     888999.htm
我想过滤掉所有包含200.htm到999.htm之间数据的行,作为最后三位,范围从200到999

我尝试使用like,但在这种情况下,我无法给出>,我也尝试了使用like,但它不起作用

 SELECT * FROM  `tablea` WHERE  `name` LIKE  '%200.htm' and like '%999.htm' LIMIT 0 , 30

以下查询将为您提供所需的输出:

   select * 
   from 
      tablea 
   where 
      SUBSTRING(name, -7, 3) > 200 
   and 
      SUBSTRING(name, -7, 3) < 999
选择*
从…起
表
哪里
子字符串(名称,-7,3)>200
及
子字符串(名称,-7,3)<999

我无法更新用户2629562的答案,所以这是我的版本

若数据总是像在示例中一样定义,那个么用户2629562的另一个选择是从右边选择第七个字符

从表A
中选择*,其中[2,3,4,5,6,7,8,9]中的子字符串(名称,-7,1)

将('.',名称)定位为点位置

从表A
中选择*其中子字符串(名称,(定位('.',名称)-3),1)位于[2,3,4,5,6,7,8,9]