declare @cur char(3)
set @cur='%'
select * from tb where cur like '%'+@cur+'%'这样执行查不出数据,我是想达到这样的效果:
select * from tb where cur like '%'
@cur 是传入的参数,有可能是RMB,HKD....,如果传入RMB,则执行
select * from tb where cur like 'RMB'
如果传入HKD则执行
select * from tb where cur like 'HKD'
如果是传入%,则表示查询所有币别。
谢谢!!
set @cur='%'
select * from tb where cur like '%'+@cur+'%'这样执行查不出数据,我是想达到这样的效果:
select * from tb where cur like '%'
@cur 是传入的参数,有可能是RMB,HKD....,如果传入RMB,则执行
select * from tb where cur like 'RMB'
如果传入HKD则执行
select * from tb where cur like 'HKD'
如果是传入%,则表示查询所有币别。
谢谢!!
set @cur='HKD'/*
如果传入HKD则执行
select * from tb where cur like 'HKD'
*/-->哪还LIKE个P呀
select * from tb where cur = @cur
set @cur='%'
if @cur like '[%]'
set @cur=replace(@cur,'%','[%]')
select * from tb where cur like '%'+@cur+'%'
set @cur='HKD'select * from tb where cur = '%' + @cur + '%'
select * from tb where cur like '%'+@cur+'%'select * from tb where cur like '%%%'好象转义了。.
[align=center]==== 思想重于技巧 ====
[/align]
.
贴子分数<20:对自已的问题不予重视。
贴子大量未结:对别人的回答不予尊重。
.
select *from tb where cur like @cur;
而
select * from tb where cur =@cur
只能查出一种币别
declare @cur char(3)
set @cur='%'
if @cur = '%'
select * from tb
else
select * from tb where cur like '%'+@cur+'%'
declare @cur char(3)
set @cur='%'
select * from tb where cur like '%'+isnull(nullif(@cur+'%','%'),'')
set @cur='%'
select * from tb where cur like '%'+isnull(nullif(@cur+'%','%%'),'') -->写少了一个%
--> 晕,改varchar
declare @cur varchar(3)
set @cur='%'
select * from tb where cur like '%'+isnull(nullif(@cur+'%','%%'),'') -->写少了一个%
insert # select 'abc'
insert # select 'def'declare @cur varchar(3)
set @cur='%'
select * from # where cur like '%'+isnull(nullif(@cur+'%','%%'),'')
/*
abc
def
*/set @cur='abc'
select * from # where cur like '%'+isnull(nullif(@cur+'%','%%'),'')
/*
abc
*/
不知道为什么要这样
这个问题能不能帮看看