前提・実現したいこと
BITを引数とするストアドプロシージャを作成します。
BITによって、WHERE句に記入した検索条件を反転させたいです。
該当のソースコード
以下のNAME列を持つテーブルに対し
SQL
1CREATE TABLE #TEMP( 2NAME VARCHAR(10) 3) 4 5INSERT #TEMP VALUES('Sato 1') 6INSERT #TEMP VALUES('Sato 2') 7INSERT #TEMP VALUES('Tanaka 1') 8INSERT #TEMP VALUES('Tanaka 2') 9INSERT #TEMP VALUES('Sasaki 1')
引数がTrueの場合
SQL
1SELECT * FROM #TEMP WHERE #TEMP.NAME LIKE 'Sato%'
引数がFalseの場合
SQL
1SELECT * FROM #TEMP WHERE #TEMP.NAME NOT LIKE 'Sato%'
を切り替えたいです。
試したこと
SQL
1DECLARE @IS_SATO BIT = 1 2 3CREATE TABLE #TEMP( 4NAME VARCHAR(10) 5) 6 7INSERT #TEMP VALUES('Sato 1') 8INSERT #TEMP VALUES('Sato 2') 9INSERT #TEMP VALUES('Tanaka 1') 10INSERT #TEMP VALUES('Tanaka 2') 11 12SELECT * FROM #TEMP 13WHERE 14IF @IS_SATO = 1 15 #TEMP.NAME LIKE 'Sato%' 16ELSE 17 #TEMP.NAME NOT LIKE 'Sato%' 18END 19DROP TABLE #TEMP
補足情報(FW/ツールのバージョンなど)
Microsoft SQL Server Management Studio v18.5
回答1件
あなたの回答
tips
プレビュー