序列号查询

yc0p9oo0  于 2021-06-25  发布在  Mysql
关注(0)|答案(3)|浏览(349)

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

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

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

非常感谢您的支持。。

igetnqfo

igetnqfo1#

将代码更新为

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

icnyk63a2#

也许这就是你想要的:

SELECT Name FROM CarNo 
WHERE (Start = 'ABC1001Z' OR End = 'ABC1001Z')
      AND (len('ABC1001Z') = len(Start));
ie3xauqp

ie3xauqp3#

你似乎想把中间的“数字”当作一个数字。这意味着:

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 对这个表单的查询,所以我不处理这个问题。

相关问题