从文本字段返回整数

时间:2017-04-26 11:10:22

标签: sql sqldatatypes

我需要从SQL查询中的文本字段返回某些ID。我很难加入我的临时表,因为我希望从中返回数据的列是持有整数实际上是一个文本字段

我正在跑步:

SELECT a.userID,a.name,a.list
FROM table1 a
JOIN table2 tmp
ON a.list = tmp.skill

返回:

  

Msg 206,Level 16,State 2,Line 22   操作数类型冲突:文本与int

不兼容

因此,tmp.skill是包含我想在a.list中挖掘的重复ID的列。我的table2有一个包含1300个ID的列表

只需添加此内容,a.list中的table1包含多个ID。例如:

1234,12345

因此,如果tmp.skill中的table2中出现12345,那么我希望用户列表返回

1 个答案:

答案 0 :(得分:1)

当您将文本字段与int进行比较时,为什么抛出此错误需要将int转换为文本然后您可以使用任何比较。所以第一次转换技能CONVERT(varchar,tmp.skill)然后你可以使用like运算符

SELECT a.userID,a.name,a.list
FROM table1 a
JOIN table2 tmp
ON a.list like '%'+CONVERT(varchar(10), tmp.skill)+'%'