请教有关根据判断条件进行SQL语句拼接的问题

skyaspnet 2009-10-09 05:29:25
现在有一个SQL语句,

例如:SELECT .... FROM tt WHERE ...

然后我想根据一个传入的值判断是否还要加一个" AND 字段名=值"的条件

我声明了一个变量,然后用IF来进行赋值,但是没有成功,我用的是'+'来连接的,

结果查询把它当成一个值,而不是SQL的一部分,请教各位大侠,谢谢!
...全文
229 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
SQL77 2009-10-09
  • 打赏
  • 举报
回复
DECLARE @SQL NVARCHAR(4000)
SET @SQL=N'SELECT * FROM tt WHERE 1=1'
DECLARE @WHERE NVARCHAR(4000)
DECLARE @NUM INT
SET @NUM=1
IF(@NUM>0)
SET @WHERE=ISNULL(@WHERE,'')+' AND NUM='+LTRIM(@NUM)
SET @SQL=@SQL+@WHERE

PRINT @SQL
/*SELECT * FROM tt WHERE 1=1 AND NUM=1
navy887 2009-10-09
  • 打赏
  • 举报
回复
给你写个例子
declare @tt varchar(100),@sql varchar(200)
set @sql='select * from where tt='+@tt
exec(@sql)
SQL77 2009-10-09
  • 打赏
  • 举报
回复
用动态SQL执行

34,590

社区成员

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

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