SQL Server中类型转换(将varchar值转换为数据类型为int的列时发生语法错误)

错误情况描述如下:

(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) + ")";


你可能感兴趣的:(MSSQL)