我到处搜索并找到有关条件where clauses
的问题,但没有关于将and
片段有条件地附加到where clause
的问题。我不是sql / database的人,我来自另一个IT
地区,由于我们的常规数据库人员不见了,因此他今天陷入了“尝试修复该问题”的问题。我具有基本的编程概念和知识,但是sql
对我而言只是一种陌生的动物。
我有一个简单的方法:
SELECT abc FROM table WHERE sdate=@somedt
但我需要添加:
AND otherdt=@otherdt
但仅当
@otherdt
不为null时。如果为null,则我根本不想添加AND
部分。我尝试了几种方法来执行此操作,但是它一直给我一个错误。任何帮助表示赞赏。这是我最后一次失败的尝试:SELECT abc FROM table
WHERE sdate=@somedt
IF @otherdt IS NOT NULL
BEGIN
AND otherdt=@otherdt
END
最佳答案
SELECT abc FROM table
WHERE sdate = @somedt AND (@otherdt IS NULL OR otherdt = @otherdt)