Регулярные выражения на самом деле не являются сильной стороной линии U2, но они хороши тем, что используют разделители для разделения строк. Вы упомянули, что это в списке выбора и, основываясь на ваших критериях, вы можете сделать это одним из двух способов.
- Значение отделяется прямым слэвом sh
- Разделитель всегда находится в одной и той же позиции символа строки.
- Значения появляются в списке выбора. (что, как я предполагаю, означает, что они являются идентификаторами в файле, для этого упражнения мы назовем этот файл FOO.
Если вы знаете, что forward sla sh используется только в качестве разделителя и выполняет не существует в строке до или после того, как указанная вами позиция разделителя является последовательной, вы можете использовать FIELD, которая позволяет вам по существу разбить строку символа на массив строк и ссылаться на одно или несколько значений этого массива, которые будут возвращены.
SELECT FOO SAVING EVAL "FIELD(@ID,'/',1)"
или если значение повторяется, и вы хотите удалить дубликаты
SELECT FOO SAVING UNIQUE EVAL "FIELD(@ID,'/',1)"
Если вы не можете гарантировать, что нет прямого слэ sh, вы можете просто использовать ссылку на символ. Вероятно, это лучший выбор с ограниченными знаниями.
SELECT FOO SAVING EVAL "@ID[1,8]"
или
SELECT FOO SAVING UNIQUE EVAL "@ID[1,8]"