안녕하세요~
mysql문 중에
(REPLACE(g.goodsNm, ' ', '') LIKE concat('%',?,'%') OR g.goodsNm LIKE concat('%',?,'%'))
이런게 있는데
어떤 뜻인가요??
|
답변 2개
채택된 답변
+20 포인트
2021-03-26 (금) 15:17:30
(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이 생각대로 동작하지 않을 겁니다.
답변을 작성하려면 로그인이 필요합니다.