2016-09-28 3 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** 

Я хочу, чтобы извлечь только хххххх-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

Вау, он решил вашу проблему, просто потому, что использовал точные имена функций, которые работают с вашей РСУБД, и вы сохраняли секрет в течение 20 минут. Ницца. –

Смежные вопросы