Fra*_*Thu 6 sql t-sql sql-server
我想将我的字符串数据转换为sql server中的数组.我尝试过如下.
SELECT '223456789' AS SerialOriginalCode
-- SerialOriginalCode 223456789
DECLARE @tbl_SerialOriginalVerion TABLE(ID INT, SerialOriginalCode INT);
INSERT INTO @tbl_SerialOriginalVerion VALUES
(1, 2),
(2, 2),
(3, 3),
(4, 4),
(5, 5),
(6, 6),
(7, 7),
(8, 8),
(9, 9);
SELECT * FROM @tbl_SerialOriginalVerion
Run Code Online (Sandbox Code Playgroud)
但它是手动方式,它不是程序化转换的方式,因为它需要我键入每一行的每个插入值.
有人可以建议我更多的方式吗?
DECLARE @InputText AS VARCHAR(MAX) = '223456789'
DECLARE @Pos Int = 1
DECLARE @End Int
DECLARE @TextLength Int = DATALENGTH(@InputText)
DECLARE @Array TABLE
(
TokenID Int PRIMARY KEY IDENTITY(1,1),
Match Varchar(MAX)
)
-- Exit function if no text is passed in.
IF @TextLength <> 0
BEGIN
WHILE @Pos <= @TextLength BEGIN
INSERT @Array (Match) VALUES (SUBSTRING(@InputText,@Pos,1))
SET @Pos = @Pos + 1
END
END
SELECT * FROM @Array
Run Code Online (Sandbox Code Playgroud)