포스트

시퀄라이즈 Op 연산자 정리

공식문서에서 소개 해주는 Op의 연산자를 표로 정리합니다.

이름기능예시SQL기타
[Op.and]AND[Op.and]:[{a:1},{b:2}]A=1 AND B=2 
[Op.or]OR[Op.or]:[{a:3},{b:4}]A=3 OR B=4 
[Op.eq]=[Op.eq]:3=3 
[Op.ne]!=[Op.ne]:5!=5 
[Op.is]ISNAME:{[Op.is]: null}NAME IS NULLIS NULL, IS NOT NULL 외에 TRUE/FALSE 도 가능
[Op.not]IS NOTJOB:[Op.not]:NULLJOB IS NOT NULL 
[Op.or]ORAGE:{[Op.or]:[20,30]}AGE = 20 OR AGE = 30 
[Op.col]    
[Op.gt]>AGE:{[Op.gt]:30}AGE>30 
[Op.gte]>=AGE:{[Op.gte]:50}AGE>=50 
[Op.lt]<AGE:{[Op.lt]:20}AGE<20 
[Op.lte]<=AGE:{[Op.lte]:10}AGE<=10 
[Op.between]BETWEENAGE:{[Op.between]:[10,20]}AGE BETWEEN 10 AND 20 
[Op.notBetween]NOT BETWEENAGE:{[Op.notBetween]:[10,20]}AGE NOT BETWEEN 10 AND 20 
[Op.all]ALLAGE:{[Op.gte]:{[Op.all]:sequelize.literal('SELECT 10')}}AGE > ALL (SELECT 10)sequelize.literal 을 필요로 함
[Op.in]INNAME : {[Op.in]:["짱구","철수","맹구","유리","훈이"]}NAME IN (“짱구”,”철수”,”맹구”,”유리”,”훈이”) 
[Op.notIn]NOT INNAME : {[Op.notIn]:["짱구","철수","맹구","유리","훈이"]}NAME NOT IN (“짱구”,”철수”,”맹구”,”유리”,”훈이”) 
[Op.like]LIKENAME:{[Op.like]:'김%'}NAME LIKE ‘김%’ 
[Op.notLike]NOT LIKENAME:{[Op.notLike]:'%수'}NAME NOT LIKE ‘%수’ 
[Op.startsWith]LIKE ‘%~’NAME:{[Op.startsWith]:'신'}NAME LIKE ‘신%’ 
[Op.endsWith]LIKE ‘~%’NAME:{[Op.like]:'형만'}NAME LIKE ‘%형만’ 
[Op.substring]LIKE ‘%~%’NAME:{[Op.substring]:'몬스터'}NAME LIKE '%몬스터%' 
[Op.iLike]ILIKE ‘%~’  PostgreSQL 에서만 작동
[Op.notILike]NOT ILIKE ‘~%’  PostgreSQL 에서만 작동
[Op.regexp]REGEXP  MySQL, PostgreSQL 에서만 작동
[Op.notRegexp]NOT REGEXP  MySQL, PostgreSQL 에서만 작동
[Op.iRegexp]   PostgreSQL 에서만 작동
[Op.notIRegexp]   PostgreSQL 에서만 작동
[Op.any]   PostgreSQL 에서만 작동
[Op.match]   PostgreSQL 에서만 작동
[Op.like]   PostgreSQL 에서만 작동

영어를 못하는 제가 항상 필요할 때마다 주섬주섬 찾아 보기 힘들어서 한글로 예시와 함께 정리합니다.


참조 문서 : https://sequelize.org/docs/v6/core-concepts/model-querying-basics/

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.