채택완료

쿼리문 해석좀...ㅠ

2021-03-26 (금) 14:43:27 2,176

안녕하세요~

mysql문 중에

(REPLACE(g.goodsNm, ' ', '') LIKE concat('%',?,'%') OR g.goodsNm LIKE concat('%',?,'%')) 

이런게 있는데 

어떤 뜻인가요??

|

답변 2개

채택된 답변
+20 포인트

(REPLACE(g.goodsNm, ' ', '') LIKE concat('%',?,'%') OR g.goodsNm LIKE concat('%',?,'%')) 

REPLACE(g.goodsNm, ' ', '')

글자를 바꾸겠다, g.goodsNm 필드의 ' ' 을 '' 로 (공백인 문자열을 공백없이 바꾸겠다.)

LIKE concat('%',?,'%')

concat은 둘 이상의 문자열을 입력한 순서대로 합쳐서 반환해주는 함수입니다.

즉, %?% 가 들어간 문자열을 찾는다.

OR g.goodsNm LIKE concat('%',?,'%')) 

위의 조건문에 추가되어 OR 또는

g.goodsNm 필드에 %?% 가 들어간 문자열을 찾아서

글자를 바꾸겠다 라는 의미 같습니다.

2021-03-26 (금) 15:50:31

컬럼 명을 봐서는 상품 이름에 특정 단어 포함된 상품을 검색하는 듯한데

동작하지는 않을 듯하네요.

like와 concat이 생각대로 동작하지 않을 겁니다.

답변을 작성하려면 로그인이 필요합니다.