Поделиться через


xp_sscanf (Transact-SQL)

Область применения: SQL Server

Считывает данные из строки в расположения аргументов, заданные каждым аргументом форматирования.

Соглашения о синтаксисе Transact-SQL

Синтаксис

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

Аргументы

Выходные данные string

Символьная строка для чтения значений аргументов из.

При OUTPUTуказании строка помещает значение аргумента в выходной параметр.

"формат"

Форматированная символьная строка, аналогичная значениям, поддерживаемым функцией языка C sscanf . В настоящее время поддерживается только %s аргумент формата.

"аргумент"

Переменная varchar , заданная для значения соответствующего аргумента формата .

n

Заполнитель, указывающий, что можно указать не более 50 аргументов.

Значения кода возврата

0 (успешно) или 1 (сбой).

Результирующий набор

xp_sscanf возвращает следующее сообщение:

Command(s) completed successfully.

Разрешения

Необходимо быть членом роли public.

Примеры

В приведенном ниже примере с помощью xp_sscanf из исходной строки извлекаются два значения на основании их положений в формате этой строки.

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;

Вот результирующий набор.

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