Как извлечь подстроку из поля между конкретными символами - PullRequest
2 голосов
/ 14 декабря 2011

У меня есть поле, которое содержит значение вроде:

F28_TIT245_0_90A_OOC_LCL от AARBITMA (aarbitma @ LC13UPE-CIM)

Я хочу взять имя между '('и '@', что "aarbitma".

Как я могу это сделать?

Я работаю на SQL Server 2008R2

1 Ответ

4 голосов
/ 14 декабря 2011
-- there are no checks for wrong input text
-- this is TODO to be done yourself
DECLARE @text VARCHAR(100)
DECLARE @start INT
DECLARE @end INT
SET @text = 'F28_TIT245_0_90A_OOC_LCL by AARBITMA(aarbitma@LC13UPE-CIM)'

SELECT @start = PATINDEX('%(%@%', @text)
SELECT @end = CHARINDEX('@', @text, 0)
SELECT SUBSTRING(@text, @start+1, @end-@start-1)

MSDN:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...