【Transact-SQL】IN句でパラメータを使用して検索する Transact-SQL(SQL Server) 2023.06.062023.08.04 この記事は約3分で読めます。 応用コードシリーズになります。 今回はSQL構文の「IN句」を便利に使う方法です。 目次 目次.前提.やり方.コード例. 目次. 前提. ※今回使用する「STRING_SPLIT」はSQL Server 2016から使用可能となる関数のため、それ以前のバージョンではこの記事で紹介するやり方では実装できませんので、ご了承ください。 やり方. IN(@PARAMETER)と使用すると、@PARAMETERがカンマ区切りでも正常に絞り込むことができません。 そのため、STRING_SPLIT関数を用いて、カンマ区切りの文字列をテーブル化する必要があります。 1,3,6 ⇒ SELECT [カラム名1] ,[カラム名2] ,[カラム名3] … FROM [テーブル名] WHERE [カラム名1] IN ( SELECT value FROM string_split(@PARAMETER, [区切り文字列]) ) コード例. @PARAMETERはカンマ区切りで指定します。 string_split(@PARAMETER, ‘,’)をstring_split(@PARAMETER, ‘%’)に変更する等好きな区切り文字列へ変更が可能です。 SELECT ID ,NAME FROM EMPLOYEE WHERE ID IN ( SELECT value FROM string_split(@PARAMETER, ‘,’) )