【发布时间】:2017-07-11 08:58:25
【问题描述】:
我有两个表 A 和 B。我想在 A.col_1 = B.col_2 上加入 A 和 B。 col_1 的数据类型为 VARCHAR(35),而 col_2 的数据类型为 CHAR(35)。以下语句在连接两个表时出现问题:没有返回记录,这意味着两个表无法连接。 col_1 通常有 8 - 11 位数字,与 col_2 相同。我的理解是即使我使用了“LENGTH(B.col_2)-1”,但只要 col_1 和 col_2 的值相同,尾随空格应该不会有问题。
是什么导致了这个问题?
ON A.col_1 =SUBSTR(B.col_2 ,1,LENGTH(B.col_2 )-1)
谢谢!
【问题讨论】:
-
天睿没有修剪功能吗?
-
嗨,丹,是的,Teradata 确实有修剪,这是我最初的解决方案,它有效。但我的问题是,既然加入时尾随空格无关紧要,为什么要修剪尾随空格是解决方案?我做出了改变,但当我回头看时,我很好奇。
-
我还没有走到最后,但我在 Teradata 中发现
A = B在 A 和 B 相同但尾随空格除外时导致错误的情况......我可能会提出一天的问题。我完全无法创建一个简单的最小可重现场景:-(也许也链接到 tmode=ANSI/TERA ...?
标签: sql join teradata sqldatatypes