[SQL] 널와 SQL 정렬 순서는 마지막 값
SQL널와 SQL 정렬 순서는 마지막 값
나는 다음과 같은 테스트 코드가 있습니다 :
CREATE TABLE #Foo (Foo int)
INSERT INTO #Foo SELECT 4
INSERT INTO #Foo SELECT NULL
INSERT INTO #Foo SELECT 2
INSERT INTO #Foo SELECT 5
INSERT INTO #Foo SELECT 1
SELECT * FROM #Foo
ORDER BY
CASE WHEN Foo IS NULL THEN Foo DESC ELSE Foo END
DROP TABLE #Foo
나는 다음과 같은 출력을 생성하기 위해 노력하고있어 :
1 2 3 4 5 NULL
"널 (null)이 다음을 넣을 경우 마지막"
어떻게 그 2005 SQL을 사용하여 수행됩니다
/미디엄
해결법
-
==============================
1.한 가지 방법은 다음과 같이 그것을 정렬 할 수 있습니다 :
한 가지 방법은 다음과 같이 그것을 정렬 할 수 있습니다 :
ORDER BY (CASE WHEN Foo IS NULL THEN 1 ELSE 0 END), Foo
또는 : 널 (null)에 의해, 다음 정렬 푸 내용에 의해 첫 번째 종류.
-
==============================
2.당신은 또한 할 수있다
당신은 또한 할 수있다
SELECT * FROM #Foo ORDER BY COALESCE(Foo, 2147483647)
단지 정렬의 목적을 위해 가능한 최대 INT와 NULL를 대체하는 (그래서 혼자 retured 값을 떠나는) 등 순서의 뒷면에 션트.
from https://stackoverflow.com/questions/2498240/sql-sort-order-with-null-values-last by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] PostgreSQL의 ORDER BY 문제 - 자연 종류 (0) | 2020.06.14 |
---|---|
[SQL] 같은 테이블에 업데이트 후 트리거 테이블 업데이트 (0) | 2020.06.14 |
[SQL] MySQL의 쿼리의 정상화 악센트 문자 (0) | 2020.06.14 |
[SQL] 나는 바인드 매개 변수 경우는 mysql_real_escape_string를 사용해야합니까? (0) | 2020.06.14 |
[SQL] 'AND'사이의 차이 '&&'SQL에서 (0) | 2020.06.14 |