SQL 쿼리 SELECT * FROM table WHERE column LIKE '%pdd%'
이 있습니다.문자열의 시작 부분을 제외한 모든 위치에서 부분 문자열을 찾는 MySQL LIKE 문
문제는 "pdd"로 시작하는 것을 제외한 모든 결과를 얻을 필요가 있다는 것입니다. "pdd"가 시작 부분에없는 모든 것을 찾습니다. 어떻게 할 수 있니?
필자는 열의 시작 부분에 있지 않을 때 "pdd"와 일치해야합니다.
SQL 쿼리 SELECT * FROM table WHERE column LIKE '%pdd%'
이 있습니다.문자열의 시작 부분을 제외한 모든 위치에서 부분 문자열을 찾는 MySQL LIKE 문
문제는 "pdd"로 시작하는 것을 제외한 모든 결과를 얻을 필요가 있다는 것입니다. "pdd"가 시작 부분에없는 모든 것을 찾습니다. 어떻게 할 수 있니?
필자는 열의 시작 부분에 있지 않을 때 "pdd"와 일치해야합니다.
난 당신이 "PDD는"처음에 어디를 제외한 "PDD"를 일치하는 모든 행을 의미하는 가정합니다.
는SELECT * FROM table WHERE column LIKE '_%pdd%'.
LIKE
술어의 "_
"와일드 카드는 정규 표현식에서 ".
"에 해당하는 "모든 문자 중 하나"를 의미한다.
시도 :
SELECT * FROM table WHERE column NOT LIKE 'pdd%'
OP는 열의 시작 부분을 제외하고 'pdd'와 일치하는 것으로 보입니다.이 작업은 수행되지 않습니다 ... –
독해력에 대해 –
내가 당신의 요구 사항을 이해한다면 정확하게 당신이 필요로하는 무엇을 :
SELECT * FROM table WHERE column LIKE '%pdd_%' and column NOT LIKE 'pdd_%'
SELECT * FROM table WHERE column LIKE '%pdd%' AND column NOT LIKE 'pdd%'
당신은이 사건이 테이블에 얼마나 자주에 따라 쿼리를 최적화 할 수 있습니다.
죄송합니다. 'pdd hello pdd'와 같은 경우에는 처음 p가'_'와 일치하고 나머지 문자열 (''pdd ''를 포함하여)은'% pdd %'와 일치하기 때문에 작동하지 않습니다. OP는 "pdd"문자열이 항상 문자열 사이에서 고유 할 것이라는 점을 결코 언급하지 않았으므로, 그 중 하나가 시작 부분에있는 여러 개의 오류가 작동하지 않을 것입니다. OP,이 대답을 받아들이지 않는 것을 고려해보십시오 (정확하지 않으므로). quosoo 또는 Marc의 답변을 수락하십시오. – DiegoDD
@DiegoDD, 좋은 지적입니다. 패턴이 두 번 나타날 가능성을 간과했습니다. 이것은 오래된 질문입니다.이 문제에 관해서는 OP에서 듣고 싶습니다. 그러나 그가 그것을 받아 들여서, 나는 그가 필요한 경우에 효과가 있다고 가정 할 것이다. –
나는 OP가 유용하다는 것을 알았고 아무런 문제가 없었다는 사실에 동의하지만이 사이트는 커뮤니티 사이트이므로 다른 사람들이 그럴 가능성이 높기 때문에 답변을 편집하여 위와 같은 경우에는 작동하지 않는다고 말할 수 있습니다. 대답을 찾으십시오 (제가했던 것처럼). 그리고 오래된 질문이 덜 유용하거나 유효하지 않게 만듭니다. 답장을 보내 주셔서 감사합니다. – DiegoDD