【发布时间】:2020-03-01 05:46:44
【问题描述】:
如果不从输出中删除任何值,我无法获得正确的转换。
我想加入两张表,但一张表的主键是char(4),另一张表的主键是INT。
这是我到目前为止所做的:
select A.ID,
B.ID from
TableA A
left join tableB B on
cast(a.ID as varchar(4) = B.ID
我意识到这不会带来单个数字值。
Table A values: 0,1,2,3,41
Table B values: 0,1,2,3,41
我的原始查询的输出只给了我 41,而忘记了其他 4 个值。
我需要能够获得其他 4 个值
关于如何获得我想要的输出的任何想法?
【问题讨论】:
-
如果您只在
varchar中存储int值,为什么不修复数据类型并将列更改为int?在int上执行JOIN->varchar会执行缓慢,因为没有索引可以帮助您。
标签: sql sql-server type-conversion