Я унаследовал базу данных, в которой поля ввода пользователя хранятся в виде строки, разделенной запятыми. Я знаю. Хромой. Мне нужен способ проанализировать эти поля в запросе SELECT, где есть три сегмента с различным количеством символов. Вопреки всем рекомендациям, что я вставляю поля в новую таблицу или создаю для этого хранимую процедуру, это то, что я придумал. Мне интересно, видит ли кто-нибудь какой-либо недостаток в том, чтобы сделать это как запрос выбора (где я могу легко преобразовать из строки в анализируемую и обратно по мере необходимости).
Field_A
5,25,89
Итак, чтобы получить левый сегмент, который является наиболее простым:
Field_1: Left$([Field_A],InStr([Field_A],",")-1)
Чтобы получить самый правый сегмент:
Field_3: Right$([Field_A],Len([Field_A])-InStrRev([Field_A],","))
Средний сегмент оказался самым сложным:
Field_2: Mid([Field_A],InStr([Field_A],",")+1,InStrRev([Field_A],",")-InStr([Field_A],",")-1)
Итак, результат:
Field_1 Field_2 Field_3
5 25 89
Есть согласованные мнения?