오라클DB 에서 IN절 대신에 LIKE 를 사용하여 IN절을 대체 했던 기억이 있는데...도저히 기억이 안납니다 0 4 2,001

by 짱구 [SQL Query] 오라클 IN절 LIKE절 [2018.07.30 09:27:14]


안녕하세요.

4년차 초급개발자입니다.

개발을 하다가 IN절 대신에 LIKE절을 사용하여 개발했던 기억이 있는데..

다시 사용하려고 기억을 되짚어봐도 생각이 나질 않네용..

파라미터로

 

SELECT *

  FROM 테이블

WHERE 사원명 IN ('123','456')

이런문장을 LIKE로 변환하여 WHERE절에

WHERE 사원명 || %  LIKE '123%'||'456%' 이런식으로 했던 기억이 있는데..

도움 부탁드립니다..

 

by 우리집아찌 [2018.07.30 09:39:09]
-- 혹시 정규식은 아니고요?

SELECT * 
  FROM T 
 WHERE REGEXP_LIKE ( EMP , '123|456')

 


by 짱구 [2018.07.30 10:42:03]

제가 봤던 방식은

최대한 함수나 이런 것을 안써서 속도를 빠르게 하기 위함 이였는데

오라클 자체에서 지원해주는 함수라 속도도 빠르고 괜찮을 것 같네요!

감사합니다!

 

 


by 우리집아찌 [2018.07.30 10:44:51]

in 절 사용할수있다면 그냥 사용하시는게 더 빠를겁니다.

in으로 받는 파리마터가 많이 않다는 가정하에서요.

물론 index가 걸려있어야겠죠.


by 짱구 [2018.07.30 11:04:39]

생각이 났습니다

 

LIKE ',123,456,' 앞뒤로 콤마를 붙인 후 '%,' || '123,456'|| ',%'

이런식으로 했었네요! 감사합니다

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입