[SQL] MySQL을 같이 여러 값
SQLMySQL을 같이 여러 값
나는이 MySQL의 쿼리가 있습니다.
나는이 내용 데이터베이스 필드가
sports,shopping,pool,pc,games
shopping,pool,pc,games
sports,pub,swimming, pool, pc, games
왜 이런 쿼리가 작동하지 않습니다 무엇입니까? 나는 스포츠, 술집 또는 둘 다와 필드를해야합니까?
SELECT * FROM table WHERE interests LIKE ('%sports%', '%pub%')
해결법
-
==============================
1.(A, B, C) 목록에서만 작동, 당신이 사용하거나 같은 들면 다음과 같습니다.
(A, B, C) 목록에서만 작동, 당신이 사용하거나 같은 들면 다음과 같습니다.
WHERE interests LIKE '%sports%' OR interests LIKE '%pub%'
-
==============================
2.이 일을 빠른 방법 :
이 일을 빠른 방법 :
WHERE interests LIKE '%sports%' OR interests LIKE '%pub%'
이것은이다 :
WHERE interests REGEXP 'sports|pub'
여기에이 솔루션을 찾을 수 : http://forums.mysql.com/read.php?10,392332,392950#msg-392950
자세한 내용은 여기 정규 표현식에 대해 : http://www.tutorialspoint.com/mysql/mysql-regexps.htm
-
==============================
3.왜 당신은 정규 표현식을보십시오. 이런 식으로 시도 :
왜 당신은 정규 표현식을보십시오. 이런 식으로 시도 :
SELECT * FROM table WHERE interests REGEXP 'sports|pub'
-
==============================
4.당신은 또한뿐만 아니라 RLIKE를 사용할 수 있습니다.
당신은 또한뿐만 아니라 RLIKE를 사용할 수 있습니다.
예를 들면 :
SELECT * FROM TABLE_NAME WHERE COLNAME RLIKE 'REGEX1|REGEX2|REGEX3'
-
==============================
5.조회에 table` 'SELECT * FROM해야 FIND_IN_SET (관심, "스포츠, 술집을")> 0
조회에 table` 'SELECT * FROM해야 FIND_IN_SET (관심, "스포츠, 술집을")> 0
내가 이해하면 오해입니다 테이블의 한 필드에서 이익을 저장하는 것입니다. 당신은 확실히에 "관심"테이블이 있어야합니다.
-
==============================
6.당신이 및 매개 변수 다음에이 기능을 사용하는 경우 괄호를 사용하는 것을 잊지 마세요
당신이 및 매개 변수 다음에이 기능을 사용하는 경우 괄호를 사용하는 것을 잊지 마세요
이 같이 :
WHERE id=123 and(interests LIKE '%sports%' OR interests LIKE '%pub%')
-
==============================
7.@Alexis Dufrenoy 제안처럼 쿼리가 될 수있다 :
@Alexis Dufrenoy 제안처럼 쿼리가 될 수있다 :
SELECT * FROM `table` WHERE find_in_set('sports', interests)>0 OR find_in_set('pub', interests)>0
매뉴얼에서 더 많은 정보를 제공합니다.
-
==============================
8.더 많은 작업 예 :
더 많은 작업 예 :
SELECT COUNT(email) as count FROM table1 t1 JOIN ( SELECT company_domains as emailext FROM table2 WHERE company = 'DELL' ) t2 ON t1.email LIKE CONCAT('%', emailext) WHERE t1.event='PC Global Conference";
이메일 확장이 여러 회사의 도메인과 동일하면 작업은 필터 이벤트 (들)에서 카운트 참가자이었다.
-
==============================
9.아니면 단어의 시작과 일치해야하는 경우 :
아니면 단어의 시작과 일치해야하는 경우 :
WHERE interests LIKE 'sports%' OR interests LIKE 'pub%'
당신은 정규 표현식 캐럿 일치를 사용할 수 있습니다 :
WHERE interests REGEXP '^sports|^pub'
https://www.regular-expressions.info/anchors.html
from https://stackoverflow.com/questions/4172195/mysql-like-multiple-values by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 어떻게 NHibernate에 단지 그것을 실행하지 않고 SQL을 생성 할 수 있습니다? (0) | 2020.04.13 |
---|---|
[SQL] 어떻게 먼저 특정 값으로 행을 반환합니까? (0) | 2020.04.13 |
[SQL] MySQL의에서 기본 키를 제거 (0) | 2020.04.13 |
[SQL] SQL 또는 TSQL 튜링 완료? (0) | 2020.04.13 |
[SQL] 테이블에 개최되는 잠금 확인하는 방법 (0) | 2020.04.13 |