본문 바로가기

Programming/MS-SQL

[MS-SQL] 문자열에서 지정한 식의 시작 위치 반환

출처 : MS-SQL Server 온라인 설명서

CHARINDEX 문자열에서 지정한 식의 시작 위치를 반환합니다. 구문 CHARINDEX ( expression1 , expression2 [ , start_location ] ) 인수 expression1 검색될 문자의 시퀀스가 포함된 식입니다. expression1은 짧은 문자 데이터 형식 범주의 식입니다. expression2 지정한 시퀀스를 검색할 열을 가리키는 식입니다. expression2는 문자열 데이터 형식 범주입니다. start_location expression2에서 expression1을 검색하기 시작하는 문자 위치입니다. start_location을 지정하지 않거나 음수 또는 0을 지정하면 expression2의 처음부터 검색하기 시작합니다. 반환 형식 int 비고 expression1이나 expression2 중 하나만 유니코드 데이터 형식(nvarchar 또는 nchar)일 경우 다른 하나도 유니코드 데이터 형식으로 변환됩니다. expression1이나 expression2가 NULL일 경우 데이터베이스 호환성 수준이 70 이상이면 CHARINDEX는 NULL을 반환합니다. 데이터베이스 호환성 수준이 65 이하이면 CHARINDEX는 expression1과 expression2가 모두 NULL일 때만 NULL을 반환합니다. expression1이 expression2에 없으면 CHARINDEX가 0을 반환합니다. 예제 다음 첫 번째 코드는 titles 테이블의 notes 열에서 시퀀스 "wonderful"이 시작하는 위치를 반환하는 예제입니다. 두 번째 예제는 선택적 매개 변수인 start_location을 사용하여 notes 열의 5번째 문자에서 wonderful을 찾기 시작합니다. 세 번째 예제는 expression1이 expression2에 없을 때의 결과 집합을 보여 줍니다 USE pubs GO SELECT CHARINDEX('wonderful', notes) FROM titles WHERE title_id = 'TC3218' GO -- Use the optional start_location parameter to start searching -- for wonderful starting with the fifth character in the notes -- column. USE pubs GO SELECT CHARINDEX('wonderful', notes, 5) FROM titles WHERE title_id = 'TC3218' GO 첫 번째 쿼리와 두 번째 쿼리의 결과 집합은 다음과 같습니다. ----------- 46 (1개 행 적용됨) USE pubs GO SELECT CHARINDEX('wondrous', notes) FROM titles WHERE title_id='TC3218' GO 결과 집합은 다음과 같습니다. ----------- 0 (1개 행 적용됨)


'Programming > MS-SQL' 카테고리의 다른 글

[MS-SQL] 달력 테이블 만들기  (0) 2009.11.06
mssql rownum 사용하기  (0) 2009.09.28
[MSSQL] 임시테이블 생성  (0) 2009.09.17
[MS-SQL] Alter table 명령어 정리  (0) 2009.08.26
[MS-SQL] HTML 태그 제거하고 조회하기  (0) 2009.06.30