Шаблон, который я пытаюсь определить и извлечь из строки, выглядит следующим образом:
DDDDDDDD-D или DDDDDDDD-DD
D обозначает цифровую цифру
Таким образом,Следующее сработало для меня
SELECT description,
CASE
WHEN PATINDEX('%[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]-[0-9][0-9]%', description)>0 THEN SUBSTRING(description, PATINDEX('%[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]-[0-9][0-9]%', description), 11)
WHEN PATINDEX('%[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]-[0-9]%', description)>0 THEN SUBSTRING(description, PATINDEX('%[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]-[0-9]%', description), 10)
END AS refno,
* ОТ XXXXX где (описание типа '% [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] - [0-9]% 'ИЛИ описание типа'% [0-9] [0-9] [0-9] [0-9] [0-9][0-9] [0-9] [0-9] - [0-9] [0-9]% ')