У меня есть столбец в таблице, где я хотел бы извлечь подстроку, чтобы я мог использовать ее как объединение с другой таблицей.
Однако у меня возникла проблема.Подстрока не всегда находится в одном месте или ей предшествует один и тот же символ.
Например, из следующего:
SA 2019M05 7022b000003CDMmAAO - SA20190323 - 2019-03-23 09:20:00 Europe/Amsterdam
Мне нужно только:
7022b000003CDMmAAO
Я пытался использовать SUBSTRING
в сочетании с CHARINDEX
иэто работает. Однако я не хочу зависеть от подстроки, всегда начинающейся с 70.
Кроме того, код не всегда перед -
.Единственная часть, которая является последовательной, это то, как создается код.Он всегда состоит из цифр и букв в следующем порядке: 0000a000000aaaaaaa
.
SELECT
CASE WHEN t.[jobName] LIKE '%70%' THEN SUBSTRING(t.[jobName],CHARINDEX('70',t.[jobName]),+18) ELSE NULL END AS [Code]
FROM table t
Так есть ли способ найти подстроку, состоящую из символов 0000a000000aaaaaaa
?