在MS SQL中,如何将列拆分为没有分隔符的行

Rob*_*Rob 4 t-sql sql-server

我有一个表中的数据看起来像这样(值得注意的是它不是CSV分离)

它需要分成单个字符

Data
abcde
Run Code Online (Sandbox Code Playgroud)

想把它转换成这个

Data
a
b
d
c
e
Run Code Online (Sandbox Code Playgroud)

我在互联网上看了但没有找到答案

Aar*_*and 6

CREATE FUNCTION dbo.SplitLetters
(
    @s NVARCHAR(MAX)
)
RETURNS @t TABLE
(
    [order] INT,
    [letter] NCHAR(1)
)
AS
BEGIN
    DECLARE @i INT;
    SET @i = 1;
    WHILE @i <= LEN(@s)
    BEGIN
        INSERT @t SELECT @i, SUBSTRING(@s, @i, 1);
        SET @i = @i + 1;
    END
    RETURN;
END
GO

SELECT [letter]
    FROM dbo.SplitLetters(N'abcdefgh12345 6 7')
    ORDER BY [order];
Run Code Online (Sandbox Code Playgroud)