오늘은 오라클 ROWNUM, BETWEEN AND, TO_CHAR, LAG OVER, LEAD OVER, NVL, MAX 쿼리에 대해서 알아보겠습니다.


1
2
3
4
5
6
7
8
    SELECT *
    FROM (SELECT result1.*,ROWNUM rnum 
          FROM (SELECT num,writer,title,content,regdate
                FROM board_guest
                ORDER BY num DESC
                ) result1
         )
    WHERE rnum BETWEEN #{startRowNum} AND #{endRowNum}
cs


ROWNUM  : 보통 오라클에서 페이징을 하거나 top n 을 뽑을때 사용합니다.

 

BETWEEN  : 범위를 지정하여 조건을 걸 때 사용합니다.



1
2
3
4
5
6
7
8
9
        SELECT result1.*
        FROM 
            (SELECT num,writer,title,content,
            TO_CHAR(regdate, 'YYYY.MM.DD AM HH:MI') regdate,
            LAG(num, 10) OVER(ORDER BY num DESC) prevNum,
            LEAD(num, 10) OVER(ORDER BY num DESC) nextNum
            FROM board_guest
            ORDER BY num DESC) result1
        WHERE num=#{num}
cs


TO_CHAR(숫자 혹은 날자, format)  : 숫자나 날짜를 문자로 변환해 주는 함수입니다.


LAG : 이전(위) Row 값을 가져올때 사용합니다.


LEAD : 이후(아래) Row 값을 가져올때 사용합니다.


OVER : ORDER BY, GROUP BY 서브쿼리를 개선하기 위해 나온 함수라고 할 수 있습니다.

   참고 : http://blog.naver.com/whitefre/140148769754



1
2
        SELECT NVL(MAX(ROWNUM), 0)
        FROM board_guest
cs


MAX : 최고값에 해당하는 값을 가져올때 사용합니다.


NVL : 테이블에 not null 처리가 안되어 있는 컬럼에 대해서 자주 사용합니다.

어떤 컬럼이 Null이면 특정값으로 치환해야하는 경우에 사용합니다.

1
2
3
4
5
6
7
8
9
10
11
$.ajax({
  url: "http://fiddle.jshell.net/favicon.png",
  beforeSend: function( xhr ) {
    xhr.overrideMimeType( "text/plain; charset=x-user-defined" );
  }
})
  .done(function( data ) {
    if ( console && console.log ) {
      console.log( "Sample of data:", data.slice( 0, 100 ) );
    }
  });
cs


url : 요청을 보내는 URL이 포함된 문자열


1
2
3
{"updateList":[{"PNO":"202","PNAME":"LG전자 로보킹 R76","PIMG":"http://img.danawa.com/prod_img/500000/567/451/img/4451567_1.jpg?shrink=160:160","PURL":"http://prod.danawa.com/info/?pcode=4451548&keyword=로봇청소기","UPRICE":"50000","TYPE":"down"},
                {"PNO":"201","PNAME":"샤오미 스마트 로봇 청소기","PIMG":"http://img.danawa.com/prod_img/500000/478/541/img/4541478_1.jpg?shrink=160:160","PURL":"http://prod.danawa.com/info/?pcode=4541417&keyword=로봇청소기","UPRICE":"50000","TYPE":"up"},
                {"PNO":"186","PNAME":"대유위니아 딤채 EDT33BFRMTT (2018년형)","PIMG":"http://img.danawa.com/prod_img/500000/199/508/img/5508199_1.jpg?shrink=160:160","PURL":"http://prod.danawa.com/info/?pcode=5508199&keyword=김치냉장고&cate=102122","UPRICE":"50000","TYPE":"up"}]}
cs


+ Recent posts