【1】カンマ区切りデータを分ける
* そんなメソッドないので、ストアドで独自実装
1)サンプル
CREATE FUNCTION Split ( @inputeValue VARCHAR(MAX), @delimiter CHAR(1) ) RETURNS @returnTable TABLE(SplitedValue VARCHAR(MAX)) BEGIN -- 入力値の最大文字列数を取得 DECLARE inputeValueLength INT SET @inputeValueLength = LEN(@inputeValue) + 1 -- ループカウンター DECLARE loopCount INT SET @loopCount = 1 -- ループで処理するデータ DECLARE nextValue VARCHAR(MAX) SET @nextValue = '' -- ループ WHILE(@loopCount < @inputeValueLength + 1) BEGIN -- 区切り文字 @delimiter があるかどうか IF(SUBSTRING(@inputeValue, @loopCount, 1) = @delimiter) BEGIN -- 戻り値になるデータをセット INSERT INTO @returnTable SELECT @nextValue -- 次に処理するデータをリセット SET @nextValue = '' END ELSE BEGIN -- 戻り値になるデータをセット SET @nextValue = @nextValue + SUBSTRING(@inputeValue, @loopCount, 1) END -- ループカウントアップ @loopCount += 1 END -- 戻り値になるデータをセット INSERT INTO @returnTable SELECT @nextValue RETURN END
参考文献
http://rope0419.blog19.fc2.com/blog-entry-101.html
【2】カンマ区切りデータにする
* 以下のサイト参照
http://necos-plan.blogspot.jp/2011/12/sqlserver.html
http://blog.livedoor.jp/oolv/archives/370268.html
【3】カンマ区切りデータが一意で、条件だけに必要である場合
* LIKEを使用する
イメージ
LIKE '%' + @code + '%'
関連記事
ストアド ~ 基礎知識編 ~
https://dk521123.hatenablog.com/entry/2010/08/06/112528
SQL Server
ストアド ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2012/01/01/234650
ストアド ~ 基本編 / カーソル ~
https://dk521123.hatenablog.com/entry/2012/01/02/014343
ストアド ~ サンプル編 ~
https://dk521123.hatenablog.com/entry/2010/03/11/223208