2014-08-27 36 views
0

我们有两个具有相同字段的表格,但是由于我们的内部应用程序添加空间,所以一个表格在字段末尾具有额外的空间。SQL内部加入字段,当一个字段在结尾处具有额外字符时

字段是字符变化的,所以我不能指定长度。

在Access中,在与内工作JOIN,但我不能让它在SSRS工作:ON table1.field1 + “”= table2.field1

总结一下,我需要INNER JOIN 2场,但是其中的一个字段在该字段的右侧/结尾处具有额外的空间。

在此先感谢

+2

尾部的空格在平等的比较被忽略,在SQL Server中。 'ON table1.field1 = table2.field1'应该可以正常工作。应该像原来的'table1.field1 +“”= table2.field1'一样。 – 2014-08-27 18:13:14

回答

0

而不是拼接空间,修剪您的结果似乎更加稳固。

ON table1.field1 = rtrim(table2.field1) 

为了确保没有空格前面或附加您可以修剪的一切:

ON ltrim(rtrim(table1.field1)) = ltrim(rtrim(table2.field1)) 

由于@MartinSmith在评论中指出,在trailing spaces are ignoredequality comparisons

你可以看到,在工作中this fiddle.