ここで、一時テーブルと WHILE 句を使用して調査結果を共有したいと思います。IN ステートメントで使用する INT のコンマ区切り文字列を区切ります。
1 に答える
-1
DECLARE @fk_ArtworkType_ID varchar(20) = '1, 2, 13'
SET @fk_ArtworkType_ID = REPLACE(@fk_ArtworkType_ID, ' ', '')
DECLARE @ArtworkTypeIDTable TABLE (fk_ArtworkType_ID int)
DECLARE @Count AS INT = 0
SET @Count = LEN(@fk_ArtworkType_ID) - LEN(REPLACE(@fk_ArtworkType_ID, ',', '')) + 1
WHILE @Count > 0
BEGIN
IF @Count <> 1
BEGIN
INSERT INTO @ArtworkTypeIDTable VALUES(SUBSTRING(@fk_ArtworkType_ID, 0, CHARINDEX(',', @fk_ArtworkType_ID, 0)))
SET @fk_ArtworkType_ID = SUBSTRING(@fk_ArtworkType_ID, (CHARINDEX(',', @fk_ArtworkType_ID, 0) + 1), LEN(@fk_ArtworkType_ID))
END
ELSE
BEGIN
INSERT INTO @ArtworkTypeIDTable VALUES(@fk_ArtworkType_ID)
END
SET @Count = @Count - 1
END;
于 2014-01-03T18:49:01.453 に答える