SQLserver: 文字列をn字ずつレコードに格納する
SAMPLE
非常に特殊な用途ですが
下記の文字列を指定の字数ずつ分離してレコードに格納します。
XXXYYYWWW
SQL SERVER
CREATE FUNCTION [dbo].[Onecharacter]
(
@string NVARCHAR(4000),
@n INT
)
RETURNS TABLE
AS
RETURN
(
WITH Onecharacter(stpos,endpos)
AS(
SELECT 1 AS stpos, 1+@n AS endpos
UNION ALL
SELECT endpos,endpos+@n
FROM Onecharacter
WHERE endpos > 0
AND endpos < LEN(@string)+1
)
SELECT 'data' = SUBSTRING(@string,stpos,COALESCE(NULLIF(endpos,0),LEN(@String)+1)-stpos)
FROM Onecharacter
)
HOW TO USE
DECLARE @string NVARCHAR(100) = 'XXXYYYWWW';
SELECT data
FROM dbo.Onecharacter(@string,3)
CREATE FUNCTION [dbo].[Onecharacter]
(
@string NVARCHAR(4000),
@n INT
)
RETURNS TABLE
AS
RETURN
(
WITH Onecharacter(stpos,endpos)
AS(
SELECT 1 AS stpos, 1+@n AS endpos
UNION ALL
SELECT endpos,endpos+@n
FROM Onecharacter
WHERE endpos > 0
AND endpos < LEN(@string)+1
)
SELECT 'data' = SUBSTRING(@string,stpos,COALESCE(NULLIF(endpos,0),LEN(@String)+1)-stpos)
FROM Onecharacter
)
DECLARE @string NVARCHAR(100) = 'XXXYYYWWW';
SELECT data
FROM dbo.Onecharacter(@string,3)
Author And Source
この問題について(SQLserver: 文字列をn字ずつレコードに格納する), 我々は、より多くの情報をここで見つけました https://qiita.com/kinoshita_yuri/items/41c5270349bb5389a369著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .