我有一个数字范围为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%有什么想法吗?
提前谢谢。
发布于 2012-05-09 00:06:52
对不起,我不相信你。如果您的数据确实如您所描述的那样,那么查询应该只返回以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子句是this而不是where job_no like '%2-5%',那么它将返回如下内容是合理的:
job_no
2-500
112-500发布于 2012-05-09 00:01:00
关于
SELECT job_no, job_name
FROM JC_JOB
WHERE job_no BETWEEN ('2-5') and ('2-6') 我还没试过
https://stackoverflow.com/questions/10501622
复制相似问题