【发布时间】:2014-07-19 11:50:33
【问题描述】:
我有数据遵循数据结构..
_ID _BEGIN _END
7003 99210 99217
7003 10225 10324
7003 111111
我想查看每个 _BEGIN 和 _END 并返回输入值在值范围之间的所有行,包括值本身(即,如果 10324 是输入,则将返回第 2 行)
我试过这个过滤器,但它不起作用..
where @theInput between a._BEGIN and a._END
--THIS WORKS
where convert(char(7),'10400') >= convert(char(7),a._BEGIN)
--BUT ADDING THIS BREAKS AND RETURNS NOTHING
AND convert(char(7),'10400') < convert(char(7),a._END)
【问题讨论】:
-
您从查询中得到了什么?哪个数据库?
-
在这里帮助我们一下-您要查询的@theInput 是什么?查询的其余部分是什么样的?
-
@theInput 例如是 '10226'
-
因此,您最初的问题是设计问题之一:您不应该让 char(7) 列保存始终为整数的值。如果你可以改变设计,你应该这样做。
标签: sql