我正在比较两个不同数据库中的帐号,以确保两个数据库中都存在该帐户。一个数据库中的帐户字段是nvarchar
,另一个是varchar
. 我做了一个演员,把他们都投射到他们身上,varchar(12)
然后加入他们,看看哪里不匹配。如果有一个少于 12 个字符的帐号,则认为它不匹配。我假设每个字段中的额外字符导致问题?
table1 - accountnumber(nvarchar(255))
table2 - accountnumber(varchar(20))
select * from
table1
left outer join table2 on table2.accountnumber = table1.accountnumber
在这个示例中,两个表都有一个编号为 12345678 的帐户,但连接不起作用。我不确定是数据类型不匹配还是空格或其他原因。
--已添加-- 我应该补充一点,table2 中的数据实际上源自一个 Oracle 数据库,它以 varchar2(12 字节)的形式存储。我将它导入到 SQL Server 数据库中,并在其中存储为 varchar(20)。我不确定这是否有所作为。