Как я могу сделать подбор заказов по буквам и игнорировать круглые скобки?
SELECT name FROM table1 ORDER BY name;
Он возвращает:
(stu) abc suv
Мне бы хотелось:
abc (stu) suv
Удалите круглые скобки перед заказом:
SELECT name
FROM table1
ORDER BY REPLACE(name, '(', '');
Однако это не позволяет использовать какой-либо индекс в столбце name
, поэтому производительность не будет хорошей, если таблица большая.
Если в скобках может быть только одна пара в начале и конце, вы можете немного увеличить производительность, просто удалив первый символ, если это скобки:
SELECT name
FROM table1
ORDER BY CASE WHEN LEFT(name, 1) = '(' THEN SUBSTR(name, 2) ELSE name END;
попробуйте что-то вроде этого: SELECT name FROM table1 ORDER BY REPLACE(name, '(', '');
Пытаться:
SELECT name FROM table1 ORDER BY REPLACE(REPLACE(name, '(', ''), ')', '');