Чому так, що коли у нас стовпчик NULL і впорядковується за значенням, що збільшується, NULLs сортуються спочатку?
select 1 as test
union all
select 2
union all
select NULL
union all
select 3
union all
select 4
order by test
призводить до
NULL
1
2
3
4
Я продовжую думати, що NULL означав "Індетермінант" або можливий "Невідомий". Якщо це правда, то хіба вони б не сортувались останніми, оскільки значення може бути більшим за всі інші значення? (Або це десь варіант сортування?)
Я перебуваю на SQL Server 2008R2, але я підозрюю, що це справедливо на всіх SQL серверах, і, ймовірно, на всіх RDBMS.
desc
замовлення, щоб показати найбільші або найсвіжіші речі, і в такому випадку я буду радий, коли нульові речі будуть останніми.