달력

12

« 2024/12 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
2019. 1. 8. 12:45

Oracle ROWNUM -> MySQL로 바꾸는 법 개발/MySQL2019. 1. 8. 12:45

반응형

작년 3월쯤 일 때문에 Oracle로 작성된 쿼리들을 MySQL문으로 바꿔야 할 일이 있었다.

SELECT, FROM, WHERE의 구조는 같지만, 그 안에서 사용되는 함수나 규칙이 약간씩 달라서 구글에 의존했던 기억이 남아 다음에 비슷한 일이 생긴다면 좀 더 쉽게 변환하도록 정리하고자 한다.


Oracle에는 ROWNUM이란 컬럼이 자동으로 생기는 듯 했다.

하지만 현업에서 MySQL만 사용해온 나는 처음 보는 기능이었고 어떻게 비슷한 기능을 구현해야 할지 막막했었다.

그리고 검색을 통해 다음과 같이 사용하면 MySQL에서도 Oracle의 ROWNUM과 유사한 기능을 사용할 수 있다는 것을 알게 되었다.


Oracle Query EX.

SELECT ROWNUM AS RNUM, s1.*

FROM TB_USER s1

WHERE s1.user_type = "MEMBER"


MySQL Query EX.

SELECT (@R := @R+1) RNUM, s1.*

FROM TB_USER s1, (SELECT @R := 0) s2

WHERE s1.user_type = "MEMBER"

반응형
:
Posted by 리샤씨