powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Запрос с сортировкой (ASC) по столбцу с NULL значениями.
12 сообщений из 12, страница 1 из 1
Запрос с сортировкой (ASC) по столбцу с NULL значениями.
    #32137784
Violina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При сортировке записи имеющие NULL помещаются в конце (Oracle 9.0.xxx),

как добиться того, чтобы они были в начале без создания view.

Код: plaintext
1.
2.
3.
4.
5.
select 
  project_name, 
  task_type, 
  task_name 
from task order by project_name, task_type;


Результат

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
project_name   task_type   task_name      
 ----------------------------------------
 
project  1        type t1     task  1 
project  1        type t2     task  2  
project  1        <null>      task  3 
project  1        <null>      task  4 
project  2        ....


Нужно

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
project_name   task_type   task_name      
 ----------------------------------------
 
project  1        <null>      task  3 
project  1        <null>      task  4 
project  1        type t1     task  1 
project  1        type t2     task  2  
project  2        ....


Может написать фунцию, которая возвращает task_type без изменения, а если
он null то MINVALUE?
...
Рейтинг: 0 / 0
Запрос с сортировкой (ASC) по столбцу с NULL значениями.
    #32137790
ora600
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
order by project_name, nvl(task_type,' ')
...
Рейтинг: 0 / 0
Запрос с сортировкой (ASC) по столбцу с NULL значениями.
    #32137791
AndrewS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так пойдет?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
create table t5
(	n number );

insert into t5 values( 1 );

insert into t5 values( 2 );

insert into t5 values(null);

select * from t5 order by n nulls first;

Код: plaintext
1.
2.
3.
4.
N
-

 1 
 2 
...
Рейтинг: 0 / 0
Запрос с сортировкой (ASC) по столбцу с NULL значениями.
    #32137792
Александр Б
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А так

select
project_name,
task_type,
task_name
from task order by project_name, task_type desc;
...
Рейтинг: 0 / 0
Запрос с сортировкой (ASC) по столбцу с NULL значениями.
    #32137793
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
select 
  project_name, 
  task_type, 
  task_name 
from task 
order by project_name, task_type nulls first;
...
Рейтинг: 0 / 0
Запрос с сортировкой (ASC) по столбцу с NULL значениями.
    #32137811
Violina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Про nulls first не знала... Оказывается так легко!

to Александр Б

order by project_name, task_type desc;
сортирует task_type по убыванию, а нужно просто нули сначала

А nvl(task_type,' ') только для строк работает?

Всем спасибо!
...
Рейтинг: 0 / 0
Запрос с сортировкой (ASC) по столбцу с NULL значениями.
    #32137817
Фотография Scott Tiger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nvl возвращает тобой заданное значение вместо null, необязательно строки.
...
Рейтинг: 0 / 0
Запрос с сортировкой (ASC) по столбцу с NULL значениями.
    #32137834
Александр Б
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так тебе нужно сначала 0 или NULL ?
Приведенный мной пример в точности решает задачу, поставленную в начале треда
...
Рейтинг: 0 / 0
Запрос с сортировкой (ASC) по столбцу с NULL значениями.
    #32137855
Violina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нужно

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
project_name   task_type   task_name      
 ----------------------------------------
 
project  1        <null>      task  3 
project  1        <null>      task  4 
project  1        type t1     task  1    -  по возрастанию !!!
project  1        type t2     task  2  
project  2        ....


order by project_name, task_type desc дает

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
project_name   task_type   task_name      
 ----------------------------------------
 
project  1        <null>      task  3 
project  1        <null>      task  4 
project  1        type t2     task  2    -  по убыванию !!!
project  1        type t1     task  1 
project  2        ....
...
Рейтинг: 0 / 0
Запрос с сортировкой (ASC) по столбцу с NULL значениями.
    #32137868
Александр Б
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В Вашем запросе условия сортировки по полю TASK_NAME нет (и не было)
...
Рейтинг: 0 / 0
Запрос с сортировкой (ASC) по столбцу с NULL значениями.
    #32137891
Violina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Извиняюсь что не совсем точно выразилась. Комментарий (по убыванию) относится к колонке task_type - и она должна быть по возрастанию, просто nulls сначала.

Поэтому task_type desc не подходит.
...
Рейтинг: 0 / 0
Запрос с сортировкой (ASC) по столбцу с NULL значениями.
    #32138079
Alto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем зрызть буквари... ;)

ORDER BY выражение[,…] [{ASC|DESC}] [{NULLS FIRST|NULLS LAST}])
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Запрос с сортировкой (ASC) по столбцу с NULL значениями.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]