在SQL(SQL Server 2005)中是否存在VB的AndAlso
/OrElse
和C#的&&
/||
。我运行类似于下面的一个选择查询:相当于VB并且还在SQL中?
SELECT a,b,c,d
FROM table1
WHERE
(@a IS NULL OR a = @a)
AND (@b IS NULL OR b = @b)
AND (@c IS NULL OR c = @c)
AND (@d IS NULL OR d = @d)
例如,如果在为NULL通过了“@a”参数有评估WHERE子句的第二部分(A = @a没有点)。有没有办法通过使用特殊语法或重写查询来避免这种情况?
谢谢, 詹姆斯。
不,他们不会。你不知道他们将在SQL中评估他们的顺序。 – gbn 2010-07-18 12:41:45