【发布时间】:2013-02-20 21:19:56
【问题描述】:
我有一个存储过程,它接受一些参数,这些参数可能为 NULL,也可能不是。
如果我有一个明确的参数值,我可以使用 ISNULL 选项,但如果我想使用“LIKE”而不是 null,我不知道该怎么做。见下文:
参数为:
@org_id as int,
@deleted as bit = NULL,
@firstname as char = NULL,
@lastname as char = NULL
选择语句是:
select user_id, firstname,lastname,firstname +' ' + lastname as fullname, email, phone, is_tech, is_admin,is_cust
from users
where users.org_id=@org_id and is_tech=1 and delete_flag=ISNULL(@deleted,delete_flag)
order by lastname,firstname asc
如果 firstname 和 lastname 参数不为 null,而是一个字符,例如“J”,我该如何编写类似于 delete_flag 子句的内容 ..and firstname like 'J%' but if not use null?
有什么想法吗?
【问题讨论】:
标签: sql sql-server tsql