[SQL] 쉼표로 구분 된 값을 갖는 열세요
SQL쉼표로 구분 된 값을 갖는 열세요
나는 프런트 엔드로하고, 닷넷 웹 페이지에 있어요 SQL 서버 2008 R2 버전을 보유하고 있습니다.
이 문제에오고, 기본적으로 쉼표로 구분하여 다양한 스킬 세트로 구성 데이터베이스의 열이 있습니다. 예를 들어 일부 후보는 즉 3 개 개의 다른 기술 세트의 C #, SQL 서버, 오라클이있다. 웹 페이지의 텍스트 상자에 C 번호 등의 입력, 오라클을 제공 할 것입니다 C # 및 Oracle 모두의 기술을 가진 후보를 나열하고자하는 사용자는. 나는 그런에서 나열 할 수 있습니다 쿼리를 작성합니다. 나는 자유 텍스트 검색을 시도했습니다. 하지만 자본 / 작은 단어의 경우 가져 오는 데 실패, 와일드 카드 문자에 대한 어떠한 지원, 기술도 순서.
다음은 샘플 쿼리입니다
Select * from profiles where freetext(skills, ‘C#,Oracle’)
해결법
-
==============================
1.내 POV에서 올바른 (및 반갑지 않은) 대답은 테이블 구조를 재 설계하는 것입니다 : 당신이 ACCESS 그들을 별도로하려는 경우 어느 하나의 필드에 값 목록을해서는 안됩니다.
내 POV에서 올바른 (및 반갑지 않은) 대답은 테이블 구조를 재 설계하는 것입니다 : 당신이 ACCESS 그들을 별도로하려는 경우 어느 하나의 필드에 값 목록을해서는 안됩니다.
-
==============================
2.면책 조항 : 나는 (그 대답에 +1) @EugenRieck에 동의 - 하나 개의 필드에 나쁜 된 디자인 CSV 문자열을한다 때우는.
면책 조항 : 나는 (그 대답에 +1) @EugenRieck에 동의 - 하나 개의 필드에 나쁜 된 디자인 CSV 문자열을한다 때우는.
하지만 당신은 ... 처음 이쪽을 봐해야합니다. 아니면 CLR의 해결 방법을 시도해보십시오.
-
==============================
3.이 전체 텍스트에 대한 좋은 하나입니다.
이 전체 텍스트에 대한 좋은 하나입니다.
C # 및 오라클 둘을 일치
select * From Profiles where contains(*,'"Oracle" and "C#"')
경기 중 하나를 C # 또는 Oracle
select * From Profiles where contains(*,'"Oracle" or "C#"')
from https://stackoverflow.com/questions/8679376/searching-a-column-with-comma-separated-values by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] where 절에서 정수 캐스팅에 MySQL을 자동 문자열? (0) | 2020.07.18 |
---|---|
[SQL] 문자와 비교 VARCHAR (0) | 2020.07.18 |
[SQL] MERGE 문에 구문 오류 (0) | 2020.07.18 |
[SQL] 하나의 SQL 문을 사용하여 여러 최대 () 값을 선택 (0) | 2020.07.18 |
[SQL] 오라클 11g - 피벗 해제 (0) | 2020.07.18 |