Sql Server 存储过程,怎样把传入的字符串作为where条件

SqlServer存储过程,怎样把传入的字符串作为where条件?字符串传什么样,where后就是什么样。如下:ALTERPROCEDURE[dbo].[Standard... Sql Server 存储过程,怎样把传入的字符串作为where条件?字符串传什么样,where后就是什么样。如下:

ALTER PROCEDURE [dbo].[Standard_GetBySomeCCS]
@str VARCHAR(100)
AS
BEGIN
SELECT
Id,
Foreword,
ApplyArea,
Format,
PageCount,
CCS
FROM Standard
WHERE XXXXXXXXXXXXXXXXXXX

就是where后面怎么写?
我在代码里调这个存储过程的时候,会把str传进来,我想让这个str整体作为where的查询条件,请问怎么写?

在线等。。。。

例子就是比如我会传一个 str = "CCS = 'C15' OR CCS = 'C12' OR CCS = 'C13' "
我想让这整个str作为查询条件。
而且我的str每次传的还不一样,是动态的。
展开
 我来答
dong_1984dd
2015-08-24 · TA获得超过1.1万个赞
知道小有建树答主
回答量:1070
采纳率:100%
帮助的人:230万
展开全部
  1. SQL 拼接字符串

  2. 把传入的字符串参数 作为where 后面的条件

  3. 如下列SQL:

      create PROCEDURE [dbo].[Test]

      @T nvarchar(50)=''--传入字符串参数

     AS

     BEGIN

        declare @SQL nvarchar(max)

       --char(10)换行符

        set @SQL='select * from table '+Char(10)

        set @SQL=@SQL+' where a='''+@T+''''

        Print @SQL

        --结果如下,假如转入参考为abc

        --select * form table

        --where a='abc'

        --下面是执行拼接SQL

         exec (@SQL)

        return 0

     end

87662626
推荐于2016-05-21 · TA获得超过123个赞
知道小有建树答主
回答量:124
采纳率:0%
帮助的人:95.1万
展开全部
需要使用动态语句
例如:
DECLARE @参数 VARCHAR(1000)

SET @参数='ID=1'

PRINT 'select * from 表 where '+@参数

EXEC('select * from 表 where '+@参数)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
苹果牛奶巧克力雪糕冰淇淋
2013-03-21 · TA获得超过254个赞
知道小有建树答主
回答量:519
采纳率:100%
帮助的人:241万
展开全部
ALTER PROCEDURE [dbo].[Standard_GetBySomeCCS]
@str VARCHAR(100)
AS
BEGIN
DECLARE @CCs_SQL NVARCHAR(1000)='';
IF @参数<>'' AND @参数 IS NOT NULL
BEGIN
SET @TIMESPAN_SQL=' ( 1<>1 ';
SELECT @CCs_SQL=@CCs_SQL+' OR '+@参数
SET @CCs_SQL=@CCs_SQL+') ';
exec('
SELECT
Id,
Foreword,
ApplyArea,
Format,
PageCount,
CCS
FROM Standard
WHERE '+@CCs_SQL+'
'
END
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
szm341
推荐于2018-03-01 · TA获得超过6726个赞
知道大有可为答主
回答量:5005
采纳率:100%
帮助的人:5169万
展开全部
declare @sql nvarchar(max)
set @sql='select .... where '+@str
exec(@sql)
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式