У меня довольно простой запрос, который использует функцию Substring
для извлечения информации из описания.Однако некоторые описания имеют исключительный формат, что приводит к ошибке
Недопустимый параметр длины, переданный в функцию LEFT или SUBSTRING.
Я бы хотел, чтобы в случае подстрокифункция завершается ошибкой, вместо нее возвращается полное описание.Однако поиск решения в Интернете ни к чему не привел.Конструкция TRY...CATCH
кажется полезной, но я не могу понять, как ее использовать в этом случае.
Select
ST.Description
, SUBSTRING(ST.Description, PATINDEX('% ([0-9]% x %) -%', ST.Description) + 2, CHARINDEX('x', SUBSTRING(ST.Description, PATINDEX('% ([0-9]% x %) -%', ST.Description) + 2, 20))-2) AS SubTaskQTY
From astTaskSubTasks ST
Join astTasks T ON T.Id = ST.ParentId
Join astAssets A ON A.Id = T.AssetId
Where A.Code = '2016100011'