我有两张桌子。
Emp和dept 。
Emp具有列deptno varchar类型,而dept具有列deptno int类型。
当我使用以下查询时:
select * from emp where deptno in (select deptno from dept)
由于数据类型不同,它不会检索任何数据。
有没有办法将多个deptno从int转换为varchar?
答案 0 :(得分:1)
您可以使用转换
select *
from emp
where CONVERT(INT, deptno) in (select deptno from dept)
答案 1 :(得分:0)
select *
from emp
where deptno in
(select CAST(deptno AS Varchar(255)) AS deptno
from dept)
或根据评论使字段与相关类型相同
答案 2 :(得分:-1)
SELECT
,tableemp.*
,CAST(dep.deptno AS INT) deptno
FROM deptno dep
INNER JOIN emp
emp.PK_PrimaryKey = dep.FK_ForeignKey