引数で貰らった値でWHERE条件にNULLを指定する [Database]
こんなストアドがある時に
CREATE PROCEDURE ABC~
@ID int,
@ShipDate datetime
AS
SELECT *
FROM order_entry
WHERE custmer_ID = @ID
AND ship_date = @ShipDate
|
RETURN 0
実は未発送のデータをヒットさせたい時は
引数@ShipDateにNULLをセットしたいんだけど
このままだと・・・ ship_date is null じゃないとヒットしないし(;´д`)トホホ
で、結局
SELECT *
FROM order_entry
WHERE custmer_ID = @ID
AND ((ship_date IS NULL AND @ShipDate IS NULL) OR ship_date = @ShipDate)
で回避(`□´)/ダァァー!!
CREATE PROCEDURE ABC~
@ID int,
@ShipDate datetime
AS
SELECT *
FROM order_entry
WHERE custmer_ID = @ID
AND ship_date = @ShipDate
|
RETURN 0
実は未発送のデータをヒットさせたい時は
引数@ShipDateにNULLをセットしたいんだけど
このままだと・・・ ship_date is null じゃないとヒットしないし(;´д`)トホホ
で、結局
SELECT *
FROM order_entry
WHERE custmer_ID = @ID
AND ((ship_date IS NULL AND @ShipDate IS NULL) OR ship_date = @ShipDate)
で回避(`□´)/ダァァー!!
コメント 0