我比较两个不同数据库中的帐号以确保帐号在两者中都存在。一个数据库中的帐户字段为nvarchar
,另一个为varchar
。我做了一个演员将他们都投到varchar(12)
并加入他们看看哪里没有一场比赛。如果有少于12个字符的帐号,则认为它不匹配。我假设每个字段中的额外字符导致了这个问题?加入varchar和nvarchar
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)形式存储。我不确定这是否有所作为。
你到底需要什么帮助? –
连接两个表table1中 - ACCOUNTNUMBER(为nvarchar(255)) 表2 - ACCOUNTNUMBER(VARCHAR(20)) SELECT * FROM表1 左外连接上table2.accountnumber表2 = table1.accountnumber –
我们是否可以假设你是使用SQL Server? – bonCodigo