如何在T-SQL中拆分非分隔字符串

时间:2013-04-03 16:52:37

标签: sql-server tsql string-parsing

我需要拆分没有分隔符的字符串值。我在银行工作,我正在选择一个总帐帐号,需要将帐号与帐号分行号分开。问题是两个值都作为一个长字符串传递,10个数字表示帐号,4个表示帐户分支。例如,01234567891234需要更改为0123456789.1234。

我发现的每件事都说使用CHARINDEX或SUBSTRING。据我所知,两者都需要一个字符来搜索。如果任何人都可以提供另一个功能和一些非常好的示例代码。感谢。

2 个答案:

答案 0 :(得分:2)

你可以做一些简单的事情,比如

left(str, 10) + '.' + right(str, 4)

如果你知道它总是一个14个字符的字符串

答案 1 :(得分:2)

您还可以使用STUFF功能,如下所示:

declare @accNo varchar(14) = '01234567891234'

select stuff(@accNo,11,0,'.')

SQL Fiddle