0

我正在运行 SQL Server 2008 R2 Management Studio。我的表中有一列 PO 编号。PO 编号应该是一串数字连字符 PO 连字符最后四个或五个字符。

所以,它应该看起来像123456123-PO-1234

我有一些是123456-123-PO-1234-0

有没有办法可以去掉第一个连字符和最后一个连字符以及 0?

4

1 回答 1

0

假设没有无效数据

declare @v varchar(20) = '123456123-PO-1234-0'
select stuff(left(@v, len(@v) -charindex('-', reverse(@v))), 
       charindex('-', @v + '-'), 1, '')

编辑:

用作表格:

declare @t table(v varchar(30))
insert @t values('123456123-PO-1234-0')

select stuff(left(v, len(v) -charindex('-', reverse(v))), 
       charindex('-', v + '-'), 1, '')
from @t
于 2013-08-12T12:53:55.657 回答