将字符串列转换为字符行

我有一个包含以下数据的表:

ID 价值
1 P126

回答

您可以使用递归 cte 解决此问题:

DECLARE @t nvarchar(10) = 'P126';

WITH cte AS (
SELECT 1 id, LEFT(@t, 1) col, RIGHT(@t, LEN(@t)-1) txt
UNION ALL
SELECT id+1, LEFT(txt, 1), RIGHT(txt, LEN(txt)-1)
  FROM cte
  WHERE LEN(txt) >= 1
)
SELECT id, col
  FROM cte


以上是将字符串列转换为字符行的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>