Compartilhar via


xp_sscanf (Transact-SQL)

Aplica-se:SQL Server

Lê dados da cadeia de caracteres para os locais de argumento especificados por cada argumento de formato.

Convenções de sintaxe de Transact-SQL

Sintaxe

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

Argumentos

Importante

Os argumentos para procedimentos armazenados estendidos devem ser inseridos na ordem específica, conforme descrito na seção sintaxe. Se os parâmetros forem inseridos fora de ordem, ocorrerá uma mensagem de erro.

SAÍDA 'string'

A cadeia de caracteres da qual ler os valores do argumento.

Quando OUTPUTé especificado, string coloca o valor do argumento no parâmetro de saída.

'formato'

Uma cadeia de caracteres formatada, semelhante aos valores suportados pela função da linguagem sscanf C. Atualmente, apenas o %s argumento format é suportado.

'argumento'

Uma variável varchar definida como o valor do argumento de formato correspondente.

n

Um espaço reservado que indica que um máximo de 50 argumentos podem ser especificados.

Valores do código de retorno

0 (sucesso) ou 1 (falha).

Conjunto de resultados

xp_sscanf retorna a seguinte mensagem:

Command(s) completed successfully.

Permissões

Requer associação à função pública .

Exemplos

O exemplo a seguir usa xp_sscanf para extrair dois valores de uma cadeia de caracteres de origem com base em suas posições no formato da cadeia de caracteres de origem.

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

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

SELECT @filename, @message;

Veja a seguir o conjunto de resultados.

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