SQL,在字符串' - '之前和之后提取整数

时间:2016-09-28 11:06:38

标签: sql sql-server sql-server-2012

我有一个包含这些值的列

row 1 Spare Part ##:      **704604-001** part 
row 2 Spare Part #:   **511778-001** 
row 3 part number, a list of common parts follows...**439730-001**)Part number Description   

row 4 Spare Part:     **774172-001**
Memory Board Nu
row 5 Spare Part:**639852-001**

我想从字符串中仅提取xxxxxx-001。 示例结果:

704604-001
511778-001
439730-001
774172-001

任何人都可以帮助我?

SQL 2012

1 个答案:

答案 0 :(得分:2)

如果想要的表达式的值总是相等的:

declare @row nvarchar(500)
set @row = 'row 1 Spare Part ##:      **704604-001** part'

select substring(@row,CHARINDEX('-',@row)-6,10)

返回:

704604-001