只是想得到一个想法和建议..当表中的query..see出现时,如何根据我的情况获得准确的结果..

我尝试使用这个查询,它看起来像是最后一个字符,问题是当我输入ABC1001Z ( fine..but ABC1001ZZ)时。查询仍返回Honda作为结果。它应该不返回任何结果/找不到结果..我的案子有什么解决方案吗?
SELECT Name
FROM CarNo
WHERE ('ABC1001Z' BETWEEN Start AND End)
AND (len('ABC1001Z') = len (Start));非常感谢您的大力支持..
发布于 2018-05-07 14:11:01
将您的代码更新为
SELECT Name FROM CarNo
WHERE (SUBSTRING('ABC1001Z',0,7) BETWEEN SUBSTRING(Start,0,7) AND SUBSTRING(End,0,7) )
AND (len('ABC1001Z') = len (Start));发布于 2018-05-07 14:48:41
也许这就是你要找的:
SELECT Name FROM CarNo
WHERE (Start = 'ABC1001Z' OR End = 'ABC1001Z')
AND (len('ABC1001Z') = len(Start));发布于 2018-05-07 19:20:03
您似乎希望将中间的“数字”视为一个数字。这暗示了类似这样的东西:
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查询有何关系,因此我不再讨论这个问题。
https://stackoverflow.com/questions/50207850
复制相似问题