2013-10-02 2 views
0

Таблица А имеет значение 'abc123' Таблица B имеет значение 'abc123'присоединения известных значений - Teradata SQL

я подтверждаю это,

SELECT * FROM tableA a WHERE value='abc123' 
and 
SELECT * FROM tableB b WHERE value='abc123' 

и оба запроса возвращают результаты

однако, когда я do:

select 
    a.* 
from 
    tablea a 
join 
    tableb b 
on trim(trailing from a.value) = trim(trailing from b.value) 

ничего не возвращается.

теперь струна я имею дело с одним из этих таблиц были импортированы более из UNIX, и я сделал так, чтобы вырезать пробелы и т.д.

+0

Если вы запускаете запрос объединения с этой функцией и значением из каждой таблицы, что он возвращает? –

+0

он работает. В чем разница между «abc123» и «abc123», которая хранится в таблице Teradata? –

+0

Повторите попытку запроса UNION и включите CHAR2HEXINT (значение) и сравните значения, возвращаемые для различий. Можете ли вы поделиться определениями таблиц? –

ответ

0

У меня нет доступа на комментарий, но у вас есть нулевые значения в любом из этих столбцов? , если есть нуль, попробуйте по умолчанию и повторно запустите запрос. Я предполагаю, что это проблема с Null.

Смежные вопросы