SQL在'/'之前和之后获取字符

时间:2016-11-04 01:28:37

标签: sql sql-server

DCR/170/06
DCR/001/07
DCR/1504/07

我希望得到'/'和+1之间的字符 我的预期输出如下:

SELECT MAX(RIGHT('000'+CAST(Doc_Num+1 AS VARCHAR(4)),4)) AS NEW_RESULT FROM Dms_Table

171
002
1505

2 个答案:

答案 0 :(得分:5)

您可以使用ParseName()

Declare @String varchar(100) = 'DCR/170/06'

Select 1+ParseName(Replace(@String,'/','.'),2)

返回

171

答案 1 :(得分:2)

这是一种方法:

select cast(substring(doc_num, 5,
                      charindex('/', doc_num, 5)
                      ) as int) + 1

此特定版本假定'DCR/'是所有字符串的开始。

您似乎明白如何用零填充值。