私は次のような手順を実行しています:
EXEC myProcedure @name = 'Smith', @dateDeleted = NULL
削除された日付を持たないすべてのスミスが必要です。
そして、これは手順です:
CREATE PROCEDURE [dbo].[myProcedure]
@name VARCHAR(8000) = NULL
,@dateDeleted VARCHAR(8000) = NULL
AS
BEGIN
SET NOCOUNT ON;
WITH t
(name
,dateDeleted
)
AS
(
SELECT DISTINCT
name,dateDeleted FROM mytable
WHERE
(@name IS NULL OR @name = name)
AND (@dateDeleted IS NULL OR CONVERT(DATETIME, @dateDeleted, 102) = dateDeleted)
)
実行後、私はすべてのスミスを持っていますが、dateDeleted=NULLには注意を払っていません..削除された日付があるかどうかに関係なくすべてのスミスを取得します
どうすればこれを修正できますか?
ありがとう