Попытка найти способ упорядочить нулевые значения, чтобы они отображались последними в таблице. - PullRequest
0 голосов
/ 13 апреля 2019

У меня есть простая таблица с нулевыми значениями по

row(counter, null 3456,10,null,45,null).

Я пытаюсь сделать данные похожими на

(counter, 3456,10,45,null,null,null).

До сих пор я пробовал

SELECT * 
FROM alpha2
ORDER BY IS NULL( Value1, Value2,Value3,Value4,Value5,Value6);
  • Значением является имя столбца

Я также пытался

SELECT * FROM alpha2 ORDER BY -rank DESC;


Counter Value1 Value2 Value3 Value4 Value5 Value6 <- columns
Count1  3456   10     45      null  null  null .   <-rows

1 Ответ

1 голос
/ 13 апреля 2019

На MS-SQL Server предложение ORDER BY ... ASC всегда будет помещать значения NULL в первую очередь.В MS-SQL Server предложение ORDER BY ... DESC всегда будет содержать значения NULL последними.

В Oracle предложение ORDER BY ... ASC всегда будет содержать значения NULL последними.В Oracle предложение ORDER BY ... DESC всегда помещает NULL значения первыми.

Стандарт SQL явно не определяет порядок сортировки по умолчанию для Nulls.Вместо этого в соответствующих системах Nulls можно отсортировать до или после всех значений данных, используя предложения NULLS FIRST или NULLS LAS T из списка ORDER BY соответственно.Это касается СУБД Oracle.MS-SQL Server не реализует эту функциональность.

Пример кода для сортировки пустых значений в MySQL: здесь данные считаются столбцом, а таблица - таблицей:

    select Data
    from Table
    order by case when Data is null then 1 else 0 end, Data
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...