2013-10-10 48 views

回答

2
@strWhere = ' where name_id in ('+ cast(@nameid as varchar) +') and timeid=10' 
+0

爲何如此,name_id列的數據類型爲int。 –

+2

'int'不是'string'。您必須將該數字轉換爲字符串。然後你可以把兩個琴絃放在一起。 SQL Server不會自動將數字轉換爲字符串來添加它們。他們是你試圖添加的2種不同的類型。 –

+1

@mhasan - 也許*列*的類型爲'int',但此時你只是試圖創建一個字符串。當使用'+'運算符時,SqlServer不會自動將int('@ nameid')轉換爲字符串,而是嘗試相反:將字符串文字轉換爲int。這是錯誤來自哪裏。 –

相關問題