有如下存储过程:
CREATE PROCEDURE [ceweb].[dt_getairlineratio] @code varchar(2000) AS
select sum(settlementprice) from ceweb.vw_ticketorder
where (billcode in ((Case When @code is null Then billcode Else @code End)))
其中@code是传入的参数,billcode字段是字符串类型的,当需要传多个值的时候,如:'abc','def'等等,这时候@code应该怎么赋值啊,我用的是java开发的,JDBC中传入"'abc','def"不行,传其它形式的也不行。
CREATE PROCEDURE [ceweb].[dt_getairlineratio] @code varchar(2000) AS
select sum(settlementprice) from ceweb.vw_ticketorder
where (billcode in ((Case When @code is null Then billcode Else @code End)))
其中@code是传入的参数,billcode字段是字符串类型的,当需要传多个值的时候,如:'abc','def'等等,这时候@code应该怎么赋值啊,我用的是java开发的,JDBC中传入"'abc','def"不行,传其它形式的也不行。
exec('select sum(settlementprice) from ceweb.vw_ticketorder
where billcode in ('+isnull(@code,'')+')')
if @code is null
select sum(settlementprice) from ceweb.vw_ticketorder
else
select sum(settlementprice) from ceweb.vw_ticketorder
where charindex(',' + billcode + ',',',' + @code + ',') > 0
GO