javajobo1
100
2020-05-13 10:59:17
6
211

오라클 정렬 질문입니다.


ORDER BY 를 써서 요일별로 월,화,수,목,금,토,일 이렇게 나오게 하고싶은데 어떻게 하나요?

만약 오더바이로 하기 어렵다면 어떤 방법으로 나오게 할 수 있나요?

오더바이를 써보니 가나다순이라서 제가 원하는것과는 다르게 나오더라구요

어떤 방식으로 써야 좋을지 너무 궁금합니다. 

0
0
  • 답변 6

  • 전술programmer
    462
    2020-05-13 11:11:44

    요일 테이블로 따로 빼서 해당 시퀀스를 참조하게 하고,

    해당 시퀀스를 정렬하는 방법도 있을테고,


    order by에 조건 문도 가능합니다.

    참고!

    https://highello.tistory.com/24

    1
  • 컴딱이
    151
    2020-05-13 11:12:56

    쉬운방법은 애초에 요일 컬럼을 0,1,2,3,4,5,6 으로 코드화 하는게 좋아보이네요 문자보다는 숫자로하는게 용량면에서도 좋으니

    1
  • 콘푸로스트
    1k
    2020-05-13 11:13:38


    SELECT
    	A.*
    	, CASE 
    		WHEN TEST = '월' THEN 1
    		WHEN TEST = '화' THEN 2
    		WHEN TEST = '수' THEN 3
    		....
    	  END ODR
    FROM TABLE_NAME 
    ORDER BY ODR


    이런식으로 정렬 컬럼을 생성해줘야합니다.

    1
  • javajobo1
    100
    2020-05-13 11:13:44
    감사합니다~!
    0
  • 13년째이짓
    482
    2020-05-13 13:24:33

    날짜를 문자로 변환하는 to_char에 일반적인 YYYYMMDD 말고 D가 있습니다.

    SELECT TO_CHAR(SYSDATE, 'D') FROM DUAL

    일요일부터 1부터 표기해서 7까지 표현합니다. 날짜 컬럼에 위 내용 참고하셔서 정렬하시면 될 것 같네요

    1
  • javajobo1
    100
    2020-05-13 14:05:29

    감사합니다~!

    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.