SQL ServerのTransact-SQLを利用して文字列と数値を結合する場合の注意点について説明します。
文字列と数値を結合する場合には、数値を文字列に型変換する必要があります。
型変換には、CAST関数、または、CONVERT関数のどちらかを利用します。

【構文】
 1.CAST関数
  CAST(変数名 AS データ型)

 2.CONVERT関数
  CONVERT(データ型, 変数名)

 変数名には、データ型を変換したい変数を指定します。
 データ型には、変換後のデータ型を指定します。

以下、サンプル。
1.エラーが発生する結合
Declare @iVal int
Declare @sVal varchar(100)
SET @iVal = 10
SET @sVal = 'iVal = ' + @iVal
Print @sVal


2.CASTで変換する場合
Declare @iVal int
Declare @sVal varchar(100)
SET @iVal = 10
SET @sVal = 'iVal = ' + CAST(@iVal AS varchar)
Print @sVal


3.CONVERTで変換する場合
Declare @iVal int
Declare @sVal varchar(100)
SET @iVal = 10
SET @sVal = 'iVal = ' + CONVERT(varchar, @iVal)
Print @sVal


【補足事項】
・サンプル1を実行すると、以下のエラーが発生します。
 "varchar の値 'AAA = ' をデータ型 int に変換できませんでした。"
 →結合時には、文字列よりも数値が優先されます。

【参考サイト】
・SQL Server 2005 Books Online
 ・データ型の優先順位 (Transact-SQL)
 ・+ (文字列連結) (Transact-SQL)

Books Onlineをインストールしている場合には、以下のリファレンスを参照してみて下さい。
 -[SQL Server 言語リファレンス]
  -[Transact-SQL リファレンス]
   -[データ型 (Transact-SQL)]
    -[データ型の優先順位 (Transact-SQL)]
    -[+ (文字列連結) (Transact-SQL)]