我有一个简单的查询:
LEFT(ReportMasterID, CHARINDEX(':', ReportMasterID) - 1) AS cons
我需要弄清楚上面脚本的一个变体,它只会拉回2个特殊字符之间的值,其中字符串中有多个特殊字符集。
以下是我需要从中提取值的字符串格式:
BORMG01D:BORMG:111111:1251624:40200
显然上面的select会产生错误,因为有多组特殊字符 - 我只需要这个值:
BORMG
有人可以帮忙吗?
答案 0 :(得分: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