배열로 저장된 db값 검색

배열로 저장된 db값 검색

QA

배열로 저장된 db값 검색

본문

예를들어 type1 컬럼에 값이 배열로 들어가기도 하는데요

where type1 like '%{$sch['type1']}%' 식으로 검색문을 짜니까 검색이 안되는데

 

질문은 배열로 저장된 db값을 검색 할때 where type1 like '%{$sch['type1']}%' 를

어떻게 함수를 써야 할까요~?

662111144_1585589629.149.png

이 질문에 댓글 쓰기 :

답변 4

배열로 저장을 하실때

|로 배열값을 문자열로 만들어주신것 같은데요

 

mysql db 입장에서

 

type1의 값들이 배열로 인지하는 | 가 포함된 문자열일지

그냥 문자열일지 알기는 모호합니다.

 

만약 배열을 2개짜리 정형화된 구조라면

 

where  ( type1 like '%{$sch['type1']}%|%'  or type1 like '%|%{$sch['type1']}%' )

 

의 구조로 둘중에 어떤것이든 검색 하는 형태로 가능할것으로 생각됩니다.

 

MySql 함수중에 

INSTR(컬럼 , 검색어) 

라는 함수가 있습니다.

 

검색할때 like 보다 좀더 빠르고 like같이 작동하는 기능입니다.

대신 위의 예와 같이 사용은 어렵고

 

where  instr( type1 , '{$type1}' )

로 사용 가능합니다.

 

답변을 작성하시기 전에 로그인 해주세요.
전체 123,587 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT