-1 sql sql-server azure-sql-database
我有一个包含以下数据的表:
| ID | 价值 |
|---|---|
| 1 | P126 |
我需要将此表转换为
| ID | 价值 |
|---|---|
| 1 | 磷 |
| 2 | 1 |
| 3 | 2 |
| 4 | 6 |
我试过STRING_SPLIT,但它不适用于空分隔符。
有人可以帮我格式化数据吗?
您可以使用递归 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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
116 次 |
| 最近记录: |