У меня есть строка из нескольких URL-адресов, начиная с двух символов, за которыми следуют цифры 1-6, например. 'SO123456' Эта строка редко находится в одной позиции в URL-адресе. После строки находится либо .html, либо пробел.Разбор URL-адреса для поиска строки переменной длины
SELECT SUBSTRING(URL,PATINDEX('%SO[0-9]%',URL),8)
FROM Table
WHERE URL LIKE '%SO[0-9]%'
Этот код возвращает «SO12.htm», если строка короче 8 символов.
Не все URL-адреса имеют эту строку, и если это так, то мне все еще нужен запрос для создания «Null».
Я пытаюсь вернуть точную длину строки. Может ли кто-нибудь помочь мне, чтобы решить это, пожалуйста? Можете ли вы найти длину подстановочной строки для использования в подстроке, чтобы вернуть только точную длину строки?
Большое спасибо.
Возможный дубликат: http://stackoverflow.com/questions/9772566/using-patindex-to-find-varying-length-patterns- in-t-sql – JimmyB
Не знаете, как связать это с моей проблемой – Tyler
[Этот ответ] (http://stackoverflow.com/a/9778647/1015327) показывает, как извлечь подстроку, соответствующую шаблону из строки. То же самое должно сработать для вас. Затем возьмите длину этой строки. – JimmyB