【发布时间】:2020-03-13 13:49:41
【问题描述】:
我有一个类似AAAA.BBB.CCCC.DDDD.01.A 的字符串,我希望对其进行操作并最终得到AAAA-BBB
我通过编写这段有争议的代码实现了这一点
declare @string varchar(100) = 'AAAA.BBB.CCCC.DDDD.01.A'
select replace(substring(@string,0,charindex('.',@string)) + substring(@string,charindex('.',@string,CHARINDEX('.',@string)),charindex('.',@string,CHARINDEX('.',@string)+1)-charindex('.',@string)),'.','-')
还有其他更优雅、更易读的方法吗?
我正在查看一些 string_split 操作,但无法理解它。
【问题讨论】:
-
不,不在 SQL Server 中。
-
我希望在 postgresql 中有类似于
split_part的东西,但谢谢。 -
所以你想要第一个之前的所有内容。结合第一后的一切。在第二个之前。用 - 分隔它们?
-
是的,运行那段代码会输出预期的结果。
-
@madlicksxxx ,另外,各个部分的长度是否始终相同?
标签: sql sql-server string split