MSSQL 2008のsprocには、単一のint出力パラメータがあります。値はNULLでもかまいません。SQL ServerプロシージャのパラメータNULLの場合
私は1つの行を返します巧妙な単一のSELECT文記述しようとしています: をPARAM値が移入された場合に、PARAM値がnullの場合、= 0
をissoftdeletedトップ1行を返し、その行 を返しますすべてのアイデアありがとう。
MSSQL 2008のsprocには、単一のint出力パラメータがあります。値はNULLでもかまいません。SQL ServerプロシージャのパラメータNULLの場合
私は1つの行を返します巧妙な単一のSELECT文記述しようとしています: をPARAM値が移入された場合に、PARAM値がnullの場合、= 0
をissoftdeletedトップ1行を返し、その行 を返しますすべてのアイデアありがとう。
SELECT
TOP (CASE WHEN @param IS NULL THEN 2000000000 ELSE 1 END)
...
FROM
Mytable
WHERE
SomeID = @param
OR
(@param IS NULL AND issoftdeleted = 0)
ORDER BY
something --to make the top meaningful
使用すると、1つの行を期待する場合@paramが設定されているときにTOPを使用して個人的には(1)
、私は、IF文と2つの独立したSELECT文を使用して検討したい...
SELECT TOP 1 * FROM SomeTable t
WHERE (@someParam IS NULL AND t.issoftdeleted = 0) OR (t.someColumn = @someParam)