FORMATMESSAGE関数を試す

SQL Server 2016からFORMATMESSAGE関数が拡張されて、プレイスホルダーを使って文字列を組み立てられるようになりました。

FORMATMESSAGE (Transact-SQL) | Microsoft Docs

C言語のprintfみたい感じですかね。たぶん。

文字列を埋め込むには%sを使います。

-- 文字列を埋め込む
print formatmessage(N'Hello, %s!', N'World');

/*
Hello, World!
*/

数字の埋め込みには%d%u%xなどを使います。

-- 整数を埋め込む
print formatmessage(N'Hello, %d!', 1);

/*
Hello, 1!
*/

-- 符号なし整数、符号なし16進数を埋め込む
declare @value int = 10;
print formatmessage(N'10進数 %u => 16進数 %x', @value, @value);

/*
10進数 10 => 16進数 a
*/

詳しい書式の説明は、こちらのRAISERROR関数のドキュメントにあります。

RAISERROR (Transact-SQL) | Microsoft Docs