SQL Server中型別轉換(將varchar值轉換為資料型別為int的列時發生語法錯誤)

暖楓無敵發表於2011-10-20

錯誤情況描述如下:

(1)、Menu_ID是UDS_Menu表中的一個型別為int的欄位。

(2)、countyCode是sys_userinf表中的一個型別為varchar的欄位。

於是在轉換的時候,發生如下錯誤:

將varchar值轉換為資料型別為int的列時發生語法錯誤

解決方法:

用cast()函式進行轉換即可,將Menu_ID轉換成字元型別即可。cast(Menu_ID as varchar(50)),然後進行匹配和比較就不會發生錯誤了。

strSQL = "SELECT Menu_ID,[Menu_Name] 

FROM [UDS_Menu] where 

cast(Menu_ID as varchar(50)) 

= (select countyCode as Menu_ID from sys_userinf where [ID]=" + int.Parse(id) + ")";


相關文章