在单元格值中引入新行
Posted
技术标签:
【中文标题】在单元格值中引入新行【英文标题】:Introduce new line in the cell value 【发布时间】:2017-05-26 05:42:33 【问题描述】:'abc def ghi' 但我们希望像在 sql server 中一样输出
abc 定义 吉
【问题讨论】:
尝试使用用户自定义的拆分函数。 欢迎来到 SO。请浏览论坛并阅读帮助中心以了解如何提问。我们在这里帮助您对代码进行故障排除。请用你所做的更新你的问题,有人可以看看它。 【参考方案1】:请使用</RowData></XMLRoot>
如下例:
DECLARE @StringList NVARCHAR(8000)
SET @StringList = 'abc def ghi'
SELECT LTRIM(RTRIM(m.n.value('.[1]', 'varchar(8000)'))) AS NAME
FROM (
SELECT CAST('<XMLRoot><RowData>' + REPLACE(@StringList, ' ', '</RowData><RowData>') + '</RowData></XMLRoot>' AS XML) AS t
) tbl
CROSS APPLY t.nodes('/XMLRoot/RowData') m(n)
【讨论】:
他不希望将单行拆分为多行。他想在同一行中为该行中由空格分隔的每个字符串引入新行。【参考方案2】:您可能无法在“结果到网格模式”中查看此内容。 所以,切换到“结果到文本”并运行下面的代码
select REPLACE('abc def ghi',' ',CHAR(13)+CHAR(10))
【讨论】:
请澄清您的问题,您已经在一行中拥有值“abc def ghi”。对吗?你想要 abc 在一行,def 在第二行,ghi 在第三行,对吧? 一行中没有 abc def 在同一行中 ghi 在同一行中。请你可以看到有问题的添加图像。请帮帮我以上是关于在单元格值中引入新行的主要内容,如果未能解决你的问题,请参考以下文章