1

2 つの列を連結し、ストアド プロシージャで 1 つのフィールドとして表示する必要があります。

Column Batch - int 
Column AdmissionNo - nvarchar

私はそのようにクエリを試みました

select (a.AdmissionNo + ' - ' + a.BatchID) as RollNo

しかし、次のエラーが表示されます

メッセージ 245、レベル 16、状態 1、プロシージャ usp_GetAdmittedStudents、行 7
nvarchar 値 '13-01 -' をデータ型 int に変換するときに変換に失敗しました。

私は何が欠けていますか?

4

1 に答える 1

2

両方の列のデータ型が同じであるか、同じ型にキャストされている必要があります。

select (a.AdmissionNo + ' - ' + CAST(a.BatchID as nvarchar) ) as RollNo

ノート :

すべてのintデータ型値はキャストできますvarchar / nvarcharが、その逆はできません。したがって、 int 列を varchar/nvarchar にキャストする方が安全です

于 2013-09-24T05:22:52.393 に答える