因为我认为这应该是一个基本问题,我知道这个问题可能已被问到,但我无法找到它。我可能要获得我的同行压力徽章,但我仍然会问:在IN内使用通配符的SQL Server
有没有在SQL Server中使用IN时不知道使用通配符%的方法。
我意识到,我可以使用OR的一样:
select *
from jobdetails
where job_no like '0711%' or job_no like '0712%'
,并在某些情况下,我可以像使用子查询:
select *
from jobdetails
where job_no in (select job_no from jobs where job_id = 39)
,但我希望做类似如下:
select *
from jobdetails
where job_no in ('0711%', '0712%')
在这种情况下,它使用百分号作为字符而不是通配符,因此没有r ows返回。我现在只需要使用一堆OR,但我知道必须有更好的方法。你用什么方法呢?
我很欣赏你的回答,虽然这是行得通的,但这可能是由于我的例子简化了。我想要一些不一定依赖前4个字符的东西。我正在寻找更多依赖通配符的东西。不过谢谢。 – Dusty 2009-07-02 19:13:00
这似乎是迄今为止最好的答案,至少在我的情况下。这将匹配从列表中的指定文本开始的任何值,并且使添加条目变得更加容易(我需要100个条目的列表,因此大多数其他解决方案都太冗长) – 2012-04-04 15:32:33