SQL에서 문자위치 찾기
Develop/SQL / 2012. 1. 4. 11:27
컬럼 데이터중...
파일 Path같이 디렉토리 구조라던가 특정 구분자로 나눠져있는 문자열에 대해~
구분자 끝의 문자열을 잘라오고자 한다면...
REVERSE([string]) : 문자열 뒤집기
ex) reverse('012/345/678/9') --> '9/876/543/210'
CHARINDEX([string], [string]) : 문자 위치 찾기
ex) charindex('/', '012/345/678/9') --> 4
SUBSTRING ([string], [intA], [intB]) : 문자의 특정위치 문자 추출 ( [intA]번째 문자부터 [intB]개의 문자만큼 )
ex) substring('012/345/678/9', 4, 5 ) --> '/345/'
LEN([string]) : 문자수
ex) len('012/345/678/9') --> 13
위의 기본 Function을 이용하여 '012/345/678/901.doc' 파일 Path에서 파일명을 추출하면...
아래와 같은 형식인데...
DECLARE @file_path VARCHAR(100)
SET @file_path = '012/345/678/901.doc'
print SUBSTRING( @file_path , (LEN( @file_path ) - CHARINDEX('/', REVERSE( @file_path ))+2), LEN( @file_path ))
결과 : '901 .doc'
다른 더 좋은 방법이 있는지... ^^;;
파일 Path같이 디렉토리 구조라던가 특정 구분자로 나눠져있는 문자열에 대해~
구분자 끝의 문자열을 잘라오고자 한다면...
REVERSE([string]) : 문자열 뒤집기
ex) reverse('012/345/678/9') --> '9/876/543/210'
CHARINDEX([string], [string]) : 문자 위치 찾기
ex) charindex('/', '012/345/678/9') --> 4
SUBSTRING ([string], [intA], [intB]) : 문자의 특정위치 문자 추출 ( [intA]번째 문자부터 [intB]개의 문자만큼 )
ex) substring('012/345/678/9', 4, 5 ) --> '/345/'
LEN([string]) : 문자수
ex) len('012/345/678/9') --> 13
위의 기본 Function을 이용하여 '012/345/678/901.doc' 파일 Path에서 파일명을 추출하면...
아래와 같은 형식인데...
DECLARE @file_path VARCHAR(100)
SET @file_path = '012/345/678/901.doc'
print SUBSTRING( @file_path , (LEN( @file_path ) - CHARINDEX('/', REVERSE( @file_path ))+2), LEN( @file_path ))
결과 : '901 .doc'
다른 더 좋은 방법이 있는지... ^^;;
'Develop > SQL' 카테고리의 다른 글
SQL 쿼리 실행 시간 체크 (0) | 2012.07.12 |
---|---|
다른 테이블을 이용한 데이터 삽입 및 삭제 (0) | 2012.04.26 |
SQL에서 문자위치 찾기 (0) | 2012.01.04 |
SQL PROCEDURE에서 루프돌려 처리 참조코드 (0) | 2011.07.15 |
SQL 데이터 삭제 관련 (0) | 2011.06.07 |
SQL Database를 이관시 처리사항 (0) | 2010.10.08 |
댓글을 달아 주세요