Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.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_Sql_Numbers - Fatal编程技术网

Mysql 查询序列号

Mysql 查询序列号,mysql,sql,numbers,Mysql,Sql,Numbers,只是想得到一个想法和建议。。如何在查询时获得我的情况的准确结果..见下表 我尝试使用这个查询,它看起来很好..但问题是当我输入ABC1001Z(不同的只是最后一个字符Z)。。查询仍然返回Honda作为结果。。它应该不会返回任何结果/未找到结果。。我的案子有什么解决办法吗 SELECT Name FROM CarNo WHERE ('ABC1001Z' BETWEEN Start AND End) AND (len('ABC1001Z') = len (Start)); 非常感谢您的支持。

只是想得到一个想法和建议。。如何在查询时获得我的情况的准确结果..见下表

我尝试使用这个查询,它看起来很好..但问题是当我输入
ABC1001Z
(不同的只是最后一个字符
Z
)。。查询仍然返回
Honda
作为结果。。它应该不会返回任何结果/未找到结果。。我的案子有什么解决办法吗

SELECT Name 
FROM CarNo 
WHERE ('ABC1001Z' BETWEEN Start AND End)
AND (len('ABC1001Z') = len (Start));
非常感谢您的支持。

更新您的代码

SELECT Name FROM CarNo 
WHERE (SUBSTRING('ABC1001Z',0,7) BETWEEN SUBSTRING(Start,0,7) AND  SUBSTRING(End,0,7) )
AND (len('ABC1001Z') = len (Start));

也许这就是你想要的:

SELECT Name FROM CarNo 
WHERE (Start = 'ABC1001Z' OR End = 'ABC1001Z')
      AND (len('ABC1001Z') = len(Start));
你似乎想把中间的“数字”当作一个数字来对待。这就意味着:

where left('ABC1001Z', 3) between left(start, 3) and left(end, 3) and
      substr('ABC1001Z', 4, 4) + 0 between substr(start, 4, 4) + 0 and substr(end, 4, 4) + 0

我不确定最后一个字符与此表单的
between
查询之间的关系,因此我不打算解决这个问题。

这一结果完全是意料之中的,因为
abc100z
在词典学上介于
ABC1000A
abc300a
之间。告诉我们你想在这里做什么,也许我们能帮上忙。使数据正常化。您有一个字母前缀、一个4位数字和一个可选的字母后缀。将序列存储为这3个组件的集合fyi,当前的数据库格式与之类似(来自开发人员),我只想在查询时得到准确的结果。。如果输入仅在该范围(id 1和2)上,请给出结果。。除此之外,它不应该返回任何输出。。如果我给输入的最后一个字符是B,C,D,E…Z,结果仍然是id=2(本田)。。可能需要使用另一个查询来获得我想要的结果…请建议..如果使用此代码..我无法搜索id=1..仅id=1的函数2@twister我不明白你在说什么。我试图通过输入ABC1001来使用你的代码,但没有给出任何结果。。看起来应该是丰田…为什么?由于同样的原因,你得到本田的结果,你的逻辑条件本身。请提供有关您的逻辑、更多样本输入和样本输出的更多信息。ABC1001Z、ABC1001、ABC1001A实际变量值..可以根据输入进行更改。。ABC1001Z=不应给出任何结果…ABC1001=丰田。。ABC1001A=Hondatq..但结果仍然无法解决我的情况…它显示所有与中间数字匹配的记录