Влад
Новичок
проблема с NULL значением в ORDER BY
Спасибо за интерес к данному вопросу.
Есть следующий SQL
select null Value_, 1 Number_, ascii('') AsciiCode_
from dual
union all
select ' ', 2, ascii(' ')
from dual
union all
select '1', 3, ascii('1')
from dual
union all
select '-', 4, ascii('-')
from dual
union all
select '2', 5, ascii('2')
from dual
union all
select 'n', 6, ascii('n')
from dual
union all
select 'a', 7, ascii('a')
from dual
order by 1
Результат :
VALUE_ NUMBER_ ASCIICODE_
_______2________32
-_______4________45
1_______3________49
2_______5________50
a_______7________97
n_______6________110
_______1________
Вопрос :
сортировка идет по десятичному коду, но у NULL значения код пустой, хотя должен быть равен 0 (основываясь на таблице набора символов ASCII), и соответственно Oracle ставит его последним, что плохо. Хотелось бы, что бы NULL значение было первым.
P.S. Может NLS_SORT может помочь, но мне кажется врядли.
Спасибо.
Спасибо за интерес к данному вопросу.
Есть следующий SQL
select null Value_, 1 Number_, ascii('') AsciiCode_
from dual
union all
select ' ', 2, ascii(' ')
from dual
union all
select '1', 3, ascii('1')
from dual
union all
select '-', 4, ascii('-')
from dual
union all
select '2', 5, ascii('2')
from dual
union all
select 'n', 6, ascii('n')
from dual
union all
select 'a', 7, ascii('a')
from dual
order by 1
Результат :
VALUE_ NUMBER_ ASCIICODE_
_______2________32
-_______4________45
1_______3________49
2_______5________50
a_______7________97
n_______6________110
_______1________
Вопрос :
сортировка идет по десятичному коду, но у NULL значения код пустой, хотя должен быть равен 0 (основываясь на таблице набора символов ASCII), и соответственно Oracle ставит его последним, что плохо. Хотелось бы, что бы NULL значение было первым.
P.S. Может NLS_SORT может помочь, но мне кажется врядли.
Спасибо.