有这样的SQL通配符吗?(50分)

  • 主题发起人 主题发起人 softdog
  • 开始时间 开始时间
S

softdog

Unregistered / Unconfirmed
GUEST, unregistred user!
下面的语句:
declare @param varchar(20)

set @param=:AName
if @param is null
set @param='*' <----------这里的通配符

select * from address
where name = @param

想达到的目的:如果在程序中没有传递AName参数,就列出所有的通讯录,否则就列出名字
和AName匹配的通讯录,可是我知道在SQL中没有'*'这个通配符,有其他办法吗?

注意:我不想用like关键字,这样速度会变慢。
 
没有。

你只能使用like关键字,通配符是%
 
你可以这样用啊:
declare @param varchar(20)
set @param=:AName
select * from address
where (name = @param)Or(@param is null)
 
厉害!竟然没想到
 

Similar threads

D
回复
0
查看
887
DelphiTeacher的专栏
D
D
回复
0
查看
855
DelphiTeacher的专栏
D
D
回复
0
查看
806
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部