Можете ли вы, пожалуйста, следующий запрос.
DECLARE @PrintData AS VARCHAR (200) = '<Line33>.TRAN ID: 000000000075169</Line33>';
SELECT SUBSTRING(@PrintData,
CHARINDEX('TRAN ID: ', @PrintData) + LEN('TRAN ID: '),
CHARINDEX('</Li',@PrintData) - (CHARINDEX('TRAN ID: ', @PrintData) + LEN('TRAN ID: '))
);
Синтаксис SUBSTRING (expression, start_position, length)
ОБНОВЛЕНИЕ:
Согласно комментарию MarcinJ, для множественного экземпляра </Line
, следующий запрос будет работать.
DECLARE @PrintData VARCHAR(2000) = '
<Line28>.TVR: 4000008000</Line28>
<Line29>.IAD: 06020103649D00</Line29>
<Line30>.TSI: E800</Line30>
<Line31>.ARC: 00</Line31>
<Line32>.CVM: PIN VERIFIED</Line32>
<Line33>.TRAN ID: 000000000075169</Line33>
';
DECLARE @FindString AS VARCHAR (20) = 'TRAN ID: ';
DECLARE @LenFindString AS INT = LEN(@FindString);
SELECT SUBSTRING(@PrintData,
CHARINDEX(@FindString, @PrintData) + @LenFindString,
CHARINDEX('</Line', @PrintData, CHARINDEX(@FindString, @PrintData)) - (CHARINDEX(@FindString, @PrintData) + @LenFindString)
);