다음을 통해 공유


xp_sscanf(Transact-SQL)

적용 대상:SQL Server

문자열에서 각 포맷 인수가 지정한 인수 위치로 데이터를 읽습니다.

Transact-SQL 구문 표기 규칙

구문

xp_sscanf { 'string' OUTPUT , 'format' } [ , 'argument' [ , ...n ] ]

인수

중요하다

확장 저장 프로시저에 대한 인수는 구문 섹션에 설명된 대로 특정 순서로 입력해야 합니다. 매개 변수를 순서대로 입력하면 오류 메시지가 발생합니다.

'string' OUTPUT

인수 값을 읽을 문자 문자열입니다.

OUTPUT 지정되면 문자열인수 값을 출력 매개 변수에 넣습니다.

'format'

C 언어 sscanf 함수에서 지원하는 값과 유사한 형식의 문자열입니다. 현재 형식 인수만 %s 지원됩니다.

'argument'

해당 형식 인수의 값으로 설정된 varchar 변수입니다.

n

최대 50개 인수를 지정할 수 있음을 나타내는 자리 표시자입니다.

반환 코드 값

0(성공) 또는 1(실패).

결과 집합

xp_sscanf는 다음 메시지를 반환합니다.

Command(s) completed successfully.

사용 권한

public 역할의 멤버 자격이 필요합니다.

예제

다음 예에서는 xp_sscanf를 사용하여 원본 문자열 포맷의 해당 위치를 기반으로 한 원본 문자열에서 두 값을 추출합니다.

DECLARE @filename AS VARCHAR (20), @message AS VARCHAR (20);

EXECUTE xp_sscanf 'sync -b -fproducts10.tmp -rrandom', 'sync -b -f%s -r%s',
    @filename OUTPUT,
    @message OUTPUT;

SELECT @filename,
       @message;

결과 집합은 다음과 같습니다.

(No column name) (No column name)
---------------- --------------------
products10.tmp   random