将逗号插入 varchar 子字符串

Posted

技术标签:

【中文标题】将逗号插入 varchar 子字符串【英文标题】:Insert comma into varchar substring 【发布时间】:2018-02-01 21:41:15 【问题描述】:

我想用逗号和空格分割字符串。我正在使用 SQL Server。 不确定我是否应该使用 charindex/String_Split/等。

    SELECT  HCPCS,
            LEFT(HCPCS,5) as "CPT",                 
            SUBSTRING(HCPCS,6,8) as "MOD"                               

    FROM    MyTable

输出

 HCPCS        CPT        MOD
 99214POTC    99214      POTC

期望的输出

HCPCS         CPT        MOD
99214POTC     99214      PO, TC

【问题讨论】:

【参考方案1】:

您可以使用 STUFF 在字符串中放置逗号。

Select STUFF('Test',3, 0,', ')

你的情况可能是

Select STUFF(SUBSTRING(HCPCS,6,8), 3, 0, ', ')

【讨论】:

这么简单...谢谢!【参考方案2】:

您可以在 SQL 中使用连接运算符 (+) 来实现您的目标。下面的代码将给出预期的结果。你一定误解了SUBSTRING函数,SUBSTRING函数的第三个参数代表长度而不是位置。

select HCPCS, LEFT(HCPCS,5) as "CPT", SUBSTRING(HCPCS,6,2) + ',' + SUBSTRING(HCPCS,8,2) as "MOD";

希望这会有所帮助。

【讨论】:

以上是关于将逗号插入 varchar 子字符串的主要内容,如果未能解决你的问题,请参考以下文章

PB中取字符串子串的函数是啥

如何更改python字符串子字符串信息

[在python中使用正则表达式搜索字符串子字符串

子串子序列问题

无法在 varchar2() 中保存逗号分隔的数字字符串

在 Redshift 中插入列的子字符串