我有一个数字列表,数字范围从1-500到11-500。我创建了一个查询来过滤除2-500之外的所有内容。但我仍然看到1-500,2-500和3-500。不确定我的查询有什么问题。查询太简单了搞砸了!!
示例查询:
SELECT job_no, job_name
FROM JC_JOB
WHERE job_no like '2-5%'
实际查询:
SELECT w.wrkordnbr
, rtrim(w.jcjob) + ' ' + s.name
, w.centernbr
, w.status
, w.servsitenbr
, w.dept
, s.address
, s.city
FROM wrkorder w, servicesite s
WHERE s.servsitenbr = w.servsitenbr
AND status NOT IN(1,2,3,4,5,6)
AND s.name LIKE '2-5%
任何想法?
提前致谢。
答案 0 :(得分:0)
怎么样?
SELECT job_no, job_name
FROM JC_JOB
WHERE job_no BETWEEN ('2-5') and ('2-6')
我还没试过呢
答案 1 :(得分:0)
我很抱歉,但我不相信你。如果您的数据实际上与您描述的一样,那么查询应该只返回以2-5 ....开头的任何内容。
declare @jobs as table
(job_no varchar(20))
insert into @jobs
values (
'1-500'
),('2-500'),('3-500'),('100-500'),('120-500'),('200-500')
SELECT job_no
FROM @jobs
WHERE job_no like '2-5%'
返回:
job_no
2-500
例如,如果您的数据有job_no 112-500
,而您的Where
子句就是where job_no like '%2-5%'
,那么它会返回类似的内容:
job_no
2-500
112-500