Sql server 在MSSQL中将字符串中分离的数据选择为单行
我有一个遗留系统表,其结构和数据如下:Sql server 在MSSQL中将字符串中分离的数据选择为单行,sql-server,tsql,Sql Server,Tsql,我有一个遗留系统表,其结构和数据如下: id data 1 some|data|I 2 need|to|get 3 out 4 of|the|database 我需要某种方法在查询中以单行的形式获取此数据,如下所示: some data I need to get 等等 有人知道怎么做吗 非常感谢 CREATE TABLE #Table1 ([id] int, [data] varchar(15)) ; INSERT INTO
id data
1 some|data|I
2 need|to|get
3 out
4 of|the|database
我需要某种方法在查询中以单行的形式获取此数据,如下所示:
some
data
I
need
to
get
等等
有人知道怎么做吗
非常感谢
CREATE TABLE #Table1
([id] int, [data] varchar(15))
;
INSERT INTO #Table1
([id], [data])
VALUES
(1, 'some|data|I'),
(2, 'need|to|get'),
(3, 'out'),
(4, 'of|the|database')
;
select value from #table1 cross apply (select value from string_split([data],'|'))A
输出
value
some
data
I
need
to
get
out
of
the
database
谢谢你,工作很有魅力。我必须自己定义拆分函数,因为数据库运行在较旧版本的SQL Server上,但之后,我成功地获得了所需的数据。