FormatMessage
 2008 sürümünden bu yana SQLServer ile hayatımızdadır. Sys.messages tablosunda var olan tanımlanmış bir mesajdan bir mesaj oluşturmak için kullanılır. FORMATMESSAGE fonksiyonu RAISERROR deyimi ile aynıdır.

Sözdizimi:

FORMATMESSAGE ({msg_number | ‘msg_string’}, [param_value [,… n]])

Msg_string’in maksimum uzunluğu 2047 karakterdir. Mesaj 2047’den fazla charcater içeriyorsa, o zaman sadece ilk 2044 karakteri gösterecek ve bir üç nokta ekleyecektir.

Mesaj kullanıcının herhangi bir yerel sürümünü bulamazsa, mesajın yerelleştirilmiş bir sürümünü bulamazsa, ABD İngilizcesi sürümünü kullanır.

Declare   @v1 varchar(50) = ‘MSHOWTO.ORG’ , @v2 int = 2019
SELECT   FORMATMESSAGE ( ‘Metinsel değer : %s  ‘ ,   @v1 )   AS   Mesaj
SELECT   FORMATMESSAGE ( ‘Sayısal değer  : %i ‘ ,   @v2 )   AS   Mesaj

Resim-1

Geçtiğiniz değişken, yer tutucu tarafından desteklenmiyorsa bir hata atar.

Declare @v1 varchar(50) = ‘MSHOWTO.ORG’
SELECT FORMATMESSAGE ( ‘Sayısal değer : %i ‘ , @v1 ) AS Mesaj

Resim-2

FormatMessage, kendi özel mesajınızı yazmak için kullanışlıdır.