database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
ㆍMS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MS-SQL Q&A 3359 게시물 읽기
No. 3359
전문검색시 contains 구문을 보면
작성자
제시카
작성일
2007-03-09 15:52
조회수
6,643

전문검색시 contains 구문을 보면


1.WHERE contains(content, '"백업"')
like '%백업%' 인가요?
2.WHERE contains(title, '"백*"')
3.WHERE contains(content, '"백업" or "리스토어"')
4.WHERE contains(content, '"백*" or "리스토어"')
5.WHERE contains(content, '백업 near 에러')

설명 좀 부탁드립니다.

 
이 글에 대한 댓글이 총 1건 있습니다.

CONTAINS

문자 기반 데이터 형식이 포함된 열에서 특정 단어나 구와 정확히 일치하거나 비슷하게 일치하는 단어를 검색하거나, 서로 근접한 단어 검색, 가중치 검색에 사용되는 조건자입니다. CONTAINS는 다음을 검색할 수 있습니다.

  • 단어나 구

  • 단어나 구의 접두사

  • 다른 단어에 근접한 단어

  • 다른 단어에서 어미 변화하여 생성된 단어(예: "drive"라는 단어는 drives, drove, driving, driven의 어간임)

  • 다른 단어보다 지정된 가중치가 높은 단어
예제
A. CONTAINS와 <simple_term> 사용

다음은 가격이 $15.00이고 "bottles"라는 단어가 포함된 모든 제품을 검색하는 예제입니다.

USE Northwind
GO
SELECT ProductName
FROM Products
WHERE UnitPrice = 15.00
   AND CONTAINS(QuantityPerUnit, 'bottles')
GO
B. CONTAINS와 <simple_term>의 구 사용

다음은 "sasquatch ale" 또는 "steeleye stout" 구가 포함된 모든 제품을 반환하는 예제입니다.

USE Northwind
GO
SELECT ProductName
FROM Products
WHERE CONTAINS(ProductName, ' "sasquatch ale" OR "steeleye stout" ')
GO
C. CONTAINS와 <prefix_term> 사용

다음은 ProductName 열에서 choc 접두사로 시작하는 단어가 하나 이상 포함된 모든 제품 이름을 반환하는 예제입니다.

USE Northwind
GO
SELECT ProductName
FROM Products
WHERE CONTAINS(ProductName, ' "choc*" ')
GO
D. CONTAINS와 OR, <prefix_term> 사용

다음은 "sea" 또는 "bread" 문자열이 포함된 모든 범주 설명을 반환하는 예제입니다.

USE Northwind
SELECT CategoryName
FROM Categories
WHERE CONTAINS(Description, '"sea*" OR "bread*"')
GO
E. CONTAINS와 <proximity_term> 사용

다음은 "spread"와 "Boysenberry"라는 단어가 서로 근접해 있는 제품 이름을 모두 반환하는 예제입니다.

USE Northwind
GO
SELECT ProductName
FROM Products
WHERE CONTAINS(ProductName, 'spread NEAR Boysenberry')
GO
F. CONTAINS와 <generation_term> 사용

다음은 dried, drying 등 dry에서 파생된 단어가 포함된 모든 제품을 검색하는 예제입니다.

USE Northwind
GO
SELECT ProductName
FROM Products
WHERE CONTAINS(ProductName, ' FORMSOF (INFLECTIONAL, dry) ')
GO
G. CONTAINS와 <weighted_term> 사용

다음은 spread, sauces, relishes 단어가 포함된 모든 제품 이름을 검색하는 예제로서 단어별로 각기 다른 가중치가 지정됩니다.

USE Northwind
GO
SELECT CategoryName, Description
FROM Categories
WHERE CONTAINS(Description, 'ISABOUT (spread weight (.8), 
   sauces weight (.4), relishes weight (.2) )' )
GO
H. CONTAINS와 변수 사용

다음은 특정 검색 용어 대신 변수를 사용하는 예제입니다.

USE pubs
GO
DECLARE @SearchWord varchar(30)
SET @SearchWord ='Moon'
SELECT pr_info FROM pub_info WHERE CONTAINS(pr_info, @SearchWord)






FREETEXT

검색 조건의 의미와 일치하지만 단어가 정확히 일치하지는 않는 값에 대한 문자 기반 데이터 형식이 포함된 열을 검색하는 데 사용되는 조건자입니다. FREETEXT를 사용할 때 전체 텍스트 쿼리 엔진은 내부적으로 freetext_string을 여러 개의 검색 용어로 단어를 분해하고 각 용어에 가중치를 할당한 다음, 일치되는 것을 찾습니다.

예제
A. FREETEXT를 사용하여 지정된 문자 값을 포함하는 단어 검색

다음은 breads, candies, dried, meats 등과 같이 제품 설명에 bread, candy, dry, meat등에 관련된 단어가 포함되어 있는 모든 제품 범주를 검색하는 예제입니다.

USE Northwind
GO
SELECT CategoryName
FROM Categories
WHERE FREETEXT (Description, 'sweetest candy bread and dry meat' )
GO
B. 전체 텍스트 검색에 변수 사용

다음은 특정 검색 용어 대신에 변수를 사용하는 예제입니다.

USE pubs
GO
DECLARE @SearchWord varchar(30)
SET @SearchWord ='Moon'
SELECT pr_info FROM pub_info WHERE FREETEXT(pr_info, @SearchWord)










황대권(sufi1)님이 2007-03-19 14:01에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
336210진수 -> 16진수 변환함수가 있나요? [1]
이상철
2007-03-11
6223
3361sql 오류 메세지....
임택환
2007-03-10
2226
3360프로시져 작업중 인용부호 에러 [1]
홍성훈
2007-03-10
2626
3359전문검색시 contains 구문을 보면 [1]
제시카
2007-03-09
6643
3358전문검색 적용시
제시카
2007-03-09
2097
3357select시 제일 큰번호를 구하고 싶어요 [1]
select
2007-03-09
2327
3356쿼리문 좀 알려주세요. [3]
김인목
2007-03-08
2538
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다