xp_sscanf (Transact-SQL)

適用対象:SQL Server

文字列からのデータを、それぞれのフォーマット引数によって与えられる引数の位置に読み込みます。

Transact-SQL 構文表記規則

構文

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

引数

'string' OUTPUT

引数の値を読み取る文字列。

指定するとOUTPUT文字列は引数値を出力パラメーターに格納します。

'format'

C 言語 sscanf 関数でサポートされている値に似た書式設定された文字列。 現在、format 引数のみが %s サポートされています。

'argument'

対応する書式引数の値に設定された varchar 変数。

n

最大 50 個の引数を指定できることを示すプレースホルダー。

リターン コードの値

0 (成功) または 1 (失敗)。

結果セット

xp_sscanf によって、次のメッセージが返されます。

Command(s) completed successfully.

アクセス許可

ロール public のメンバーシップが必要です。

次の例では、xp_sscanf を使用して、ソース文字列のフォーマットにおけるそれぞれの位置に基づいて、ソース文字列から 2 つの値を抽出します。

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