Я выполняю запрос в Oracle, и этот запрос упорядочен по столбцу, который может иметь значения с амперсандом.Однако, похоже, что амперсанд игнорируется алгоритмом сортировки.
Например:
select * from (
select '&' txt from dual
union
select 'P' txt from dual
union
select 'N' txt from dual
)
order by txt
Печатает точно (и, наверное, правильно):
&
N
P
Однако, если я изменю текст с '&' на '& Z', результат изменится:
select * from (
select '&'||'Z' txt from dual // concatenating just to
// avoid variable substitution
union
select 'P' txt from dual
union
select 'N' txt from dual
)
order by txt
Результат будет:
N
P
&Z
Если я поменяю 'Z' на'A', тогда результат:
&A
N
P
Кажется, что '&' не рассматривается в предложении ORDER BY.Кто-нибудь знает, является ли это ожидаемым поведением или я пропускаю какой-то шаг настройки?Я понимаю, что для вставок или обновлений нужно экранировать от амперсанда.Но дело в том, что персонаж уже в таблице!
Заранее спасибо, ребята.