MSSQL EXPRESS 2008 を使用しており、次のクエリを使用して、レコードの ID 列と説明列を連結しようとしています。
SELECT CAST(GotoviProizvodi.ID as nvarchar(4)) + ' - ' + CAST(GotoviProizvodi.Opis as nvarchar(max)) AS Opis
FROM GotoviProizvodi,Recept
WHERE Recept.ID=@ID
AND Recept.Proizvod=GotoviProizvodi.Opis
GotoviProizvodi.ID is defined in the schema as int -- the ID column
GotoviProizvodi.Opis is defined as nvarchar(200) -- the description column
しかし、クエリを実行しようとすると、次のようになります。
メッセージ 245、レベル 16、状態 1、プロシージャ GetProizvodByReceptId、行 2 nvarchar 値 'Test' をデータ型 int に変換するときに変換に失敗しました。
nvarchar に変換するように明示的に指示しているのに、なぜ int に変換しようとしているのですか? 回避策はありますか?