select * from 数据表 where 机构号 like '001%' or 机构号 like '002%' 有没有办法写成类似于这样:
select * from 数据表 where 机构号 in ('001%', '002%')也就是希望前半截不变:
select * from 数据表 where 机构号.....请高手指点,非常感谢!

解决方案 »

  1.   

    select * from 数据表 where 机构号 like '001%' 
    union  
    select * from 数据表 where 机构号 like '002%' 
      

  2.   

    比较低效的写法:select * from 数据表 where left(机构号,3) in ('001', '002')
      

  3.   

    select * from 数据表 where 机构号 like '00[1,2]%' 
    结果如图:
      

  4.   

    好的:
    select * from 数据表1 where 字段1 like '301%' or 字段1 like '502%' 
    select * from 数据表2 where 字段2 like '301%' or 字段2 like '502%' 
    select * from 数据表3 where 字段3 like '301%' or 字段3 like '502%' 

    如何替换为:
    select * from 数据表1 where 字段1 like '666%'
    select * from 数据表2 where 字段2 like '666%'
    select * from 数据表3 where 字段3 like '666%'
    。或者反之,第2段放在上面,第1段放在下面。
      

  5.   

    如果sql的前半截不变的话,使用动态执行语句 exec sp_executesql
    命令动态拼接sql进行执行呢?
      

  6.   

    select * from 数据表1 where 字段1 like '666%'
    如何拼成:
    select * from 数据表1 where 字段1 like '301%' or 字段1 like '502%' 还需要判断字段的名称,这也不容易啊。