C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


■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
返信 編集キー/


管理者用

- Child Tree -