-1
Webサイトでクエリフォームを作成しようとしています。最初のオブジェクトは演算子を含むドロップダウンリストです。ドロップダウンリストのデフォルトの最初の値はNULL(1)、2番目の値はLIKE(2)など... 2番目のオブジェクトは、ユーザーが "A"のような文字列を入力できるテキストボックスです。SQL ServerのWHERE句でCASE文を使用
したがって、以下のSQLクエリを作成して、Webサイトからの変数をシミュレートしようとしています。実行し、@op = 1
がすべての値を返します。しかし、私は@op = 2
を変更する場合は、次のエラーを取得維持:データ型intにnvarchar型の値「%LIKEトム」に変換する際
変換に失敗しました「
DECLARE @StartDate DATETIME2(7) = '2017-11-08 00:00:00.0000000 +00:00'
DECLARE @EndDate DATETIME2(7) = '2017-11-08 00:00:00.0000000 +00:00'
DECLARE @Op INT = 2
DECLARE @name NVARCHAR(25) = 'A'
SELECT
name,
dttm
FROM
tableName
WHERE
dttm BETWEEN @StartDate AND @EndDate
AND CASE @Op
WHEN 1 THEN 1
WHEN 2 THEN name + ' LIKE ' + @name +'%'
END <> 0