2017-09-04 46 views
1

我有一個簡單的查詢2個特殊字符之間的值:SQL選擇多於一個特殊字符存在

LEFT(ReportMasterID, CHARINDEX(':', ReportMasterID) - 1) AS cons 

我需要解決上述腳本的變化將會重新拉開大隻的價值2個字符串中有多組特殊字符的特殊字符。

這裏是字符串格式我需要從拉動值:

BORMG01D:BORMG:111111:1251624:40200 

顯然,上述選擇,因爲有一組以上的特殊字符的生成錯誤 - 我只是需要這個值:

BORMG 

任何人都可以幫忙嗎?

回答

2

下面是一個簡單XML方法

Declare @YourTable table (ID int,ReportMasterID varchar(max)) 
Insert Into @YourTable values 
(1,'BORMG01D:BORMG:111111:1251624:40200') 

Select ID 
     ,Pos2 = convert(xml,'<x>'+replace(ReportMasterID,':','</x><x>')+'</x>').value('/x[2]','varchar(100)') 
From @YourTable 

返回

ID Pos2 
1 BORMG