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

来源:互联网 发布:制造业大数据解决方案 编辑:程序博客网 时间:2024/05/22 03:42

错误情况描述如下:

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


原创粉丝点击