■97148 / ) |
Re[1]: SQLServerからのデータ取得方法について |
□投稿者/ 魔界の仮面弁士 (3044回)-(2021/04/07(Wed) 11:03:28)
|
2021/04/07(Wed) 12:27:45 編集(投稿者)
※ NULL を渡された時は、空文字ではなく NULL を返すように変更しました
■No97147 (紅雀 さん) に返信 > 文字列は3文字ずつの数字の連続になっています。 > そこから、不要な文字列を削除(003,004を除く)して > 取得することはできますか?
-- SUBSTRING で 3 文字ずつ切り出して、不要な文字列以外を繋ぎなおす CREATE FUNCTION dbo.Wankuma97148(@text nvarchar(100)) RETURNS nvarchar(100) AS BEGIN DECLARE @len int = LEN(@text) DECLARE @pos int = 1 DECLARE @chunk nvarchar(3) = NULL DECLARE @result nvarchar(100) = CASE WHEN @text IS NOT NULL THEN '' END WHILE @pos < @len BEGIN SET @chunk = SUBSTRING(@text, @pos, 3) IF @chunk NOT IN (N'003', '004') SET @result = CONCAT(@result, @chunk) SET @pos = @pos + 3 END RETURN @result END
|
|