2016-09-28 43 views
-2

我有這些值SQL,之前和之後的提取物整數「 - 」字符串

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

+0

REGEXP會爲你工作。 –

+4

哪個。 RDBMS。是。您。使用。 –

+0

使用'split_part()'或'string_to_array()' –

回答

2

如果想要表達式的值總是等於:

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

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

回報:

704604-001 
+0

你解決了我的問題。非常感謝 – rajlesta

+0

因爲剛剛加入本網站,我無法投票。 – rajlesta

+1

哇,他解決了你的問題,只是因爲他使用了與你的RDBMS一起工作的精確函數名,而這些名字在20分鐘內保密。尼斯。 –

相關問題