матерные буквы |
---|
Сергей Васкецов |
---|
Или ничего тупее перебора символов по очереди не придумать? | Ни тупее, ни умнее цикла, явного или неявного, для обработки массива не придумаешь. |
Проблема в том, что в oracle это будет явно неоптимально ввиду отсутствия работы с указателями на символ внутри строки (его нельзя просто сдвинуть и проверить, как на сях или дельфях).
Elic |
---|
Метрологией владеешь? |
С эти разберёмся, мне главное волшебный пендаль в правильном направлении получить.
В принципе, я даже могу выполнить это поверх всей таблицы и получить время в среднем на реальных данных.
Но пока что-то не очень у меня получается.
Через ltrim(s, c_Alphabet) is null - значит оно сначала всё вычистит, а потом вернёт результат, при этом может несколько раз пройти через запрещённые символы.
Через regexp - ORA-12728: недопустимый диапазон в регулярном выражении.
Интуитивно кажется, что REGEXP_LIKE будет быстрее всего, буду его копать, но пока родить результат не выходит.
Благодарю.