通過復制 id 列并僅使用原始文本的一部分,將單個單元格值拆分為多行。除了使用 UNION 之外的任何方式。
這是示例資料
create table Spl
(
id INT,
Name VARCHAR(100)
)
insert into Spl values (1, '4334ASTBSTCST')
insert into Spl values (2, '7887ASTBSTCST')
insert into Spl values (3, '8793ASTBSTCST')

uj5u.com熱心網友回復:
你可以用cross apply與values:
select Id, v.[Name]
from spl
cross apply (
values
(Left([name],7)),
(Left([name],4) Substring([name],8,3)),
(Left([name],4) Substring([name],11,3))
)v([Name])
uj5u.com熱心網友回復:
交叉申請的一個版本
select Id, left([name],4) substring([name], v.pos, v.len)
from spl
cross apply (
values
( 5,3),
( 8,3),
(11,3)
) v(pos,len)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/383194.html
標籤:sql 数据库 查询语句 sql-server-2008
下一篇:如何獲取最新值?
