以下の2つのオプションパラメータを持つストアドプロシージャがあります。オプションのパラメータ@Zipの1つを検証する必要があります。つまり、ユーザーがこのストアドプロシージャを実行しているときに、正しいUSA郵便番号を入力していることを確認する必要があります。以下のストアドプロシージャのように正規表現を使用してみましたが、機能しませんでした。どうすればこれを達成できますか?ありがとうございました。
CREATE PROCEDURE usp_GetDetails
(
@Name varchar(255) = null, @Zip int = null
)
as
begin
SELECT DISTINCT
[Name],[Address1],[Address2],[City],[Zip]
FROM AddressTable
WHERE
( @Name IS NULL
OR AddressTable.[Name] LIKE '%' + @Name + '%'
)
AND ( @Zip IS NULL
OR AddressTable.[Zip] = (RegexMatch (@Zip, '^\d{5}(\-\d{4})?$'))
)