存储过程where 条件问题

清海扬波 2008-08-06 11:49:33
条件格式如下
Where a.No in(....) and a.Name in (...)、
我要得到的是
如果len(a.no)=0 则屏蔽掉a.no IN(...)
Where a.No in(....)
如果 len(a.Namr)=0 则屏蔽掉 a.Name
Where a.No in(....)
现在在拼接上面老出错,用Case when 也不行,大家帮帮忙
...全文
85 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
等不到来世 2008-08-06
  • 打赏
  • 举报
回复

select * from tb a
where (len(a.no)=0 or a.no in(...)) and (len(a.[name])=0 or a.[name] in(...))
清海扬波 2008-08-06
  • 打赏
  • 举报
回复
现在就是用的SP,但是在连接如Select * from table where+...这后面不知道怎么写了
jasonren 2008-08-06
  • 打赏
  • 举报
回复
不能用sp吗?
这样子很麻烦呢
新鲜鱼排 2008-08-06
  • 打赏
  • 举报
回复
where (len(a.no)=0) or (len(a.no)>0 and a.no IN(...))
新鲜鱼排 2008-08-06
  • 打赏
  • 举报
回复
动态语句如何?
jacklee_888 2008-08-06
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 dutguoyi 的回复:]
where (len(a.no)=0) or (len(a.no)>0 and a.no IN(...))
[/Quote]

這樣就對了
清海扬波 2008-08-06
  • 打赏
  • 举报
回复
这样是不是就可以处理在没有条件的时候的and词法问题了,
wwwtyb 2008-08-06
  • 打赏
  • 举报
回复
SELECT * FROM tb a
WHERE (LEN(a.No)=0 OR a.No IN(...)) AND (LEN(a.[Namr])=0 OR a.[Name] IN(...))

34,590

社区成员

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

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