如何使用sql作为xml路径('')但保留回车符

发布于 2024-11-09 03:23:47 字数 476 浏览 0 评论 0原文

我有以下代码

select
    (
    select cast(Narrative as Varchar(max)) + char(13) 
    from officeclientledger 
    where ptmatter=$matter$ and ptTrans=4 
    for xml path (''), type
    )

,可以提供如下结果:

Cwm Taff NHS 信托医疗记录 ; Purby 医生医疗记录 ; (不包括空格,为了提问而需要插入)

但是,有没有办法提供结果,例如

Cwm Taff NHS 信托医疗记录

珀比医生的医疗记录

i have the following piece of code

select
    (
    select cast(Narrative as Varchar(max)) + char(13) 
    from officeclientledger 
    where ptmatter=$matter$ and ptTrans=4 
    for xml path (''), type
    )

which deliver results such as:

Cwm Taff NHS Trust Medical Records
; Dr Purby Medical Records ;
(excluding spaces, needed to insert for the purpose of asking the question)

however, is there a way of delivering the results such as

Cwm Taff NHS Trust Medical Records

Dr Purby Medical Records

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

等风来 2024-11-16 03:23:47

使用 SSMS 中的结果网格功能无法完成此操作。但是,如果您使用结果文本选项并将 CHAR(13) 替换为 CHAR(10),您将获得所需的结果。

This can't be done using the results to grid functionality in SSMS. However, if you use the results to text option and replace your CHAR(13) with CHAR(10), you'll get the desired results.

墨小沫ゞ 2024-11-16 03:23:47

我遇到了同样的问题,并且无法使用 Char(10),因为接收系统需要 Char (13)。所以我使用下面的查询来替换结果中的值并且它起作用了。

SELECT Coloumn = REPLACE(@v_Get_UPC_List, '
', CHAR(13)) 

I am hitting the same problem and i can't use Char(10) because the receiving system expect Char (13). So I used below query to replace the value in my result and it worked.

SELECT Coloumn = REPLACE(@v_Get_UPC_List, '
', CHAR(13)) 
心碎的声音 2024-11-16 03:23:47

当我必须使用 SSMS 并希望查看请求的值进行测试时,我使用打印命令。

IF OBJECT_ID ('tempdb..#doc') IS NOT NULL DROP TABLE #doc;
declare @doc varchar(max);

create table #doc (DOC varchar(max));
    insert into #doc EXECUTE db.[spDocumentJob] 1

SELECT @doc = STUFF(
    (SELECT  ' ' +  DOC + ' ' + CHAR(13) + CHAR(10) 
        FROM #doc As T2
        ORDER BY DOC
        FOR XML PATH (''), TYPE).value('.','varchar(max)'),1,1,'')
print @doc

输入图片此处描述

When I have to use SSMS and want to see the values like requested, for testing, I use the print command.

IF OBJECT_ID ('tempdb..#doc') IS NOT NULL DROP TABLE #doc;
declare @doc varchar(max);

create table #doc (DOC varchar(max));
    insert into #doc EXECUTE db.[spDocumentJob] 1

SELECT @doc = STUFF(
    (SELECT  ' ' +  DOC + ' ' + CHAR(13) + CHAR(10) 
        FROM #doc As T2
        ORDER BY DOC
        FOR XML PATH (''), TYPE).value('.','varchar(max)'),1,1,'')
print @doc

enter image description here

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文