ProductID 変数が null の場合にすべての製品を返すように次のスクリプトを作成する方法はありますか? 商品が null でない場合、特定の商品を返します。私がこれまでに持っているもの:
DECLARE @productID INT = NULL
SELECT
ProductID,
ProductName,
ProductDesc
FROM
product
WHERE
ProductID = @productID
ProductID 変数が null の場合にすべての製品を返すように次のスクリプトを作成する方法はありますか? 商品が null でない場合、特定の商品を返します。私がこれまでに持っているもの:
DECLARE @productID INT = NULL
SELECT
ProductID,
ProductName,
ProductDesc
FROM
product
WHERE
ProductID = @productID
ユース ケース ステートメント:
SELECT ProductID, ProductName,ProductDesc
FROM product
WHERE ProductID = CASE WHEN @productID IS NULL THEN ProductID ELSE @productID END
または、SQL Server 2012 を使用している場合は IIF() 関数:
SELECT ProductID, ProductName,ProductDesc
FROM product
WHERE ProductID =IIF(@productID IS NULL, ProductID, @productID )
これを試して
DECLARE @productID INT = NULL
SELECT
ProductID,
ProductName,
ProductDesc
FROM
product
WHERE
ProductID = isnull(@productID,ProductID)
SELECT
ProductID,
ProductName,
ProductDesc
FROM
product
WHERE
ProductID = CASE WHEN @productID IS NULL THEN ProductID ELSE @productID END