'db'에 해당되는 글 1건

[MySQL]Oracle SQL, MySQL 변환

DB 2012. 11. 13. 13:58
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

NVL() 함수를  IFNULL() 함수로 변경한다.

※ SYSDATE  NOW() 함수로 변경한다.

※ TRUNC(SYSDATE) 함수CURDATE() 함수로 변경한다.

Subqueryalias가 없다면 붙인다.

ex) select a, b from ( select a, b from ttt) => select t.a, t.b from ( select a, b from ttt) t

※ Outerjoin 변경 

[Oracle]

left outer joing : SELECT t1.*, t2.* FROM t1, t2 where t1.i1 = t2.i2(+);

right outer joing: SELECT t1.*, t2.* FROM t1, t2 where t1.i1(+) = t2.i2;  

[MySQL]

left outer joing : SELECT t1.*, t2.* FROM t1 LEFT OUTER JOIN t2 ON t1.i1 = t2.i2;

right outer joing: SELECT t1.*, t2.* FROM t1 RIGHT OUTER JOIN t2 ON t1.i1 = t2.i2;

% From절에서 테이블명 중간에 , 가 없다는것과 ON 구문이 From절 바로 뒤에 오게 해야하는것에 주의 

※ TO_CHAR()DATE_FORMAT()으로 변환한다.

TO_CHAR(sysdate,'YYYYMMDD') =>DATE_FORMAT(now(),'%Y%m%d') 

TO_DATE()DATE_FORMAT()으로 변환한다.

TO_DATE('20061020','YYYYMMDD') => DATE_FORMAT('20061020','%Y%m%d')로 변환

※ Where rownum <= 10 limit 10으로 변환한다.

rownum >= 5 와 rownum <= 10 이면 limit 4, 5  

ex) 리스트 페이징에서 11번째부터 20번째까지 limit 10, 20  

   처음부터 10개             ........ LIMIT 10

   5번째부터 10개            ........LIMIT 4, 10

   5번째부터 마지막까지  .... LIMIT 4, -1 

  이때 주의 할 점은 첫번째 레코드의 시작은 0 입니다.

  즉 LIMIT 1, 3 - 2번째부터 3개 의 결과를 출력하게 됩니다.

※ DELETE 테이블명 쿼리문을 DELETE FROM 테이블명 쿼리문으로 바꾸어준다.

'MY'||'S'||'QL'CONCAT('MY','S','QL')으로 변환한다.

RANK() 는 존재하지 않는다.

SET @RANK := 0, @PREV := '';
SELECT no, @PREV := user_name AS user_name, jumsu
FROM (
      SELECT *
      FROM member
      ORDER BY user_name, jumsu DESC
      ) AS TB
WHERE IF(user_name = @PREV, @RANK := @RANK + 1, @RANK := 1) <= 2;

MySQL 변수 셋팅으로 처리한다.

'DB' 카테고리의 다른 글

[Oracle]피벗(Pivot)과 언피벗(UnPivot)  (0) 2014.09.25
[Oracle]Oracle 언어 확인 및 설정  (0) 2014.06.09
[Oracle]NVL, NVL2, NULLIF  (0) 2014.01.20
[Oracle]Oracle INDEX  (0) 2012.11.14
[Oracle]Oracle Instant 설정  (0) 2012.10.31
블로그 이미지

겐타쓰

,