一个SQL的写法问题求助:

quanjishou 2013-05-06 10:39:17
select * from 数据表 where 机构号 like '001%' or 机构号 like '002%'

有没有办法写成类似于这样:
select * from 数据表 where 机构号 in ('001%', '002%')

也就是希望前半截不变:
select * from 数据表 where 机构号.....

请高手指点,非常感谢!
...全文
246 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
skgybaby 2013-05-16
  • 打赏
  • 举报
回复
如果要完全符合需求,无解。
quanjishou 2013-05-07
  • 打赏
  • 举报
回复
select * from 数据表1 where 字段1 like '666%' 如何拼成: select * from 数据表1 where 字段1 like '301%' or 字段1 like '502%' 还需要判断字段的名称,这也不容易啊。
daiyueqiang2045 2013-05-07
  • 打赏
  • 举报
回复
如果sql的前半截不变的话,使用动态执行语句 exec sp_executesql 命令动态拼接sql进行执行呢?
quanjishou 2013-05-07
  • 打赏
  • 举报
回复
好的: 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段放在下面。
chuifengde 2013-05-07
  • 打赏
  • 举报
回复
给出数据和要的结果
Mirror然 2013-05-07
  • 打赏
  • 举报
回复
引用 4 楼 quanjishou 的回复:
谢谢各位回复。 1楼写法会增加命令,不符合需求。 2楼写法低效,不能采用。 3楼写法在这个例子中有用,但001、002只是举例,实际上的机构号是可能是:139323,222311,998835等,所以这种单个字符的写法不能用,能不能判断多个字符?
既然一条满足不了 何不用存储过程
唐诗三百首 2013-05-07
  • 打赏
  • 举报
回复
大批语句的批量替换有风险,建议还是手工完成比较妥当喔.
quanjishou 2013-05-07
  • 打赏
  • 举报
回复
现在不是想优化写法,而是要替换代码,以前的代码没有错,因为我有一大批的语句要换查询条件,查询条件都一样,但表的字段不一样,所以如果能替换最后面的查询条件是最简单的。
唐诗三百首 2013-05-07
  • 打赏
  • 举报
回复
其实原写法没什么问题,应该无需优化..
quanjishou 2013-05-07
  • 打赏
  • 举报
回复
谢谢各位回复。 1楼写法会增加命令,不符合需求。 2楼写法低效,不能采用。 3楼写法在这个例子中有用,但001、002只是举例,实际上的机构号是可能是:139323,222311,998835等,所以这种单个字符的写法不能用,能不能判断多个字符?
quanjishou 2013-05-07
  • 打赏
  • 举报
回复
需求如发贴:前半截不变。字段只要一个,而不是多个字段。
_小黑_ 2013-05-07
  • 打赏
  • 举报
回复
楼主提的问题没理解,需求呢???
MrYangkang 2013-05-06
  • 打赏
  • 举报
回复
select * from 数据表 where 机构号 like '00[1,2]%'
结果如图:

發糞塗牆 2013-05-06
  • 打赏
  • 举报
回复
比较低效的写法: select * from 数据表 where left(机构号,3) in ('001', '002')
撸大湿 2013-05-06
  • 打赏
  • 举报
回复
select * from 数据表 where 机构号 like '001%' 
union  
select * from 数据表 where 机构号 like '002%'

34,587

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧