在SQL(SQL Server 2005)中是否有与VB的AndAlso/ OrElse和C#的&&/相同的功能||.我正在运行类似于以下的选择查询:
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)
Run Code Online (Sandbox Code Playgroud)
例如,如果将"@a"参数作为NULL传入,则无法评估WHERE子句的第二部分(a = @a).有没有办法通过使用特殊语法或重写查询来避免这种情况?
谢谢,詹姆斯.
我需要一些SQL Server 2005 SQL查询的帮助.以下是要查询的表中数据的示例:
Id PersonId PayrollNum ContractId PayrollFrom PayrollTo --------------------------------------------------------------------------- 1 432642 85110892 1 01/05/2009 31/05/2009 2 432642 85110892 1 01/06/2009 30/06/2009 3 432642 85110892 1 01/07/2009 31/07/2009 4 432642 85110892 2 01/05/2009 31/05/2009 5 432642 85110892 2 01/06/2009 30/06/2009 6 432642 85110892 2 01/07/2009 31/07/2009 7 432642 85110892 2 01/08/2009 31/08/2009 8 432642 35110892 1 01/06/2009 30/06/2009 9 432642 35110892 1 01/05/2009 31/05/2009 10 432642 35110892 1 01/07/2009 31/07/2009
(我希望格式化好 - 用这个东西做表很难!)
我需要的输出如下:
Id -- 1 4 9 …