SELECT SUBSTRING(myfield,
/* 5-th slash */
CHARINDEX('/', myfield,
CHARINDEX('/', myfield,
CHARINDEX('/', myfield,
CHARINDEX('/', myfield,
CHARINDEX('/', myfield) + 1) + 1) + 1) + 1)
+ 1,
/* 6-th slash */
CHARINDEX('/', myfield,
CHARINDEX('/', myfield,
CHARINDEX('/', myfield,
CHARINDEX('/', myfield,
CHARINDEX('/', myfield,
CHARINDEX('/', myfield) + 1) + 1) + 1) + 1) + 1)
-
/* 5-th slash again */
CHARINDEX('/', myfield,
CHARINDEX('/', myfield,
CHARINDEX('/', myfield,
CHARINDEX('/', myfield,
CHARINDEX('/', myfield) + 1) + 1) + 1) + 1)
- 1)
FROM myTable
WHERE ...
Это будет работать, но это далеко не элегантно. Если возможно, выберите полное поле и отфильтруйте требуемое значение на стороне клиента (используя более мощный язык программирования, чем T-SQL). Как видите, T-SQL не был предназначен для такого рода вещей.
(Изменить: я знаю, что следующее не относится к вашей ситуации, но я буду держать это как совет для тех, кто читает это:)
На самом деле, реляционные базы данных вообще не предназначены для работы со списками значений, разделенными строками, поэтому еще лучшим решением было бы разделить это поле на отдельные поля в вашей таблице (или на подтаблицу, если число записи различаются).