Sql 如何选择多行文字作为不同的单行文字?
更新TBL SET Col1='multi\r\nline\r\ntext' 我使用上面的查询将col1值设置为多行值 我希望选择col1作为3行 我想要你的输出 从tbl中选择col1 像 可乐 多重 线 text请尝试插入此文本Sql 如何选择多行文字作为不同的单行文字?,sql,sql-server,database,sql-server-2008,sql-server-2005,Sql,Sql Server,Database,Sql Server 2008,Sql Server 2005,更新TBL SET Col1='multi\r\nline\r\ntext' 我使用上面的查询将col1值设置为多行值 我希望选择col1作为3行 我想要你的输出 从tbl中选择col1 像 可乐 多重 线 text请尝试插入此文本 insert into table Select a.na from table cross apply(Select 'multi' na union Select 'Line' union Select 'Text')a 将此字符串与我们使用的元素分开。
insert into table
Select a.na
from table
cross apply(Select 'multi' na union Select 'Line' union Select 'Text')a
将此字符串与我们使用的元素分开。 要使用它,我们应该将该字符串转换为XML格式。只需将“\r\n”替换为:
你想更新或插入我正在做插入和更新,我的查询是如何在不同的行中选择它如果是插入,这是可能的,我可以给你查询,因为更新,因为它在现有行上做的,据我所知,这是不可能的,因为它必须插入额外的两行用于该目的。
WITH T AS
(
SELECT ID,
CAST('<X>'+REPLACE(col1,'\r\n','</X><X>')+'</X>' as XML) as xmldata
FROM TBL
)
SELECT T.ID,
a.c.value('data(.)', 'VARCHAR(100)') as col1
FROM T
CROSS APPLY xmldata.nodes('X') as a(c)