테이블 Local_LsIr_Temp
에서 일부 데이터를 선택하려고했습니다.SQL에서 ORDER BY를 수행 할 때 빈 문자열 앞에 NULL 값이 표시됨
dir_email
- 및
dir_tele
이 존재 : 나는 그것이로 주문해야하는 방식으로 데이터가 필요합니다. - 적어도
dir_email
가 존재 - 적어도
dir_tele
가 존재 (dir_tele
는null
또는empty
일 수있다) I는 상기 쿼리를 작성
SELECT ROW_NUMBER() OVER
(PARTITION BY inst_iconum ORDER BY
CASE WHEN (dir_email = '' OR dir_email IS NULL) THEN 1 ELSE 0 END, dir_email,
CASE WHEN (dir_tele = '' OR dir_tele IS NULL) THEN 1 ELSE 0 END, dir_tele
) rn,
*
FROM Local_LsIr_Temp
(dir_email
는 null
또는 empty
될 수 있음), 그 결과는 예상대로 오지 않는다.
아래 첨부 된 샘플 결과는 파란색으로 표시된 행이 모두 null 값을 갖는 행 위에 와야합니다.
, 결과 행이 반환됩니다 주문 어떤 보장도 없다 - 순서를 보장 할 수있는 * 유일한 * 일 결과 세트의 행 수는 가장 바깥 쪽 쿼리에 첨부 된'ORDER BY' 절입니다. 현재로서는 아무 것도 없습니다. –