如何在Teradata中对列名应用LIKE函数。 我写了以下代码:
SELECT *
FROM sb
LEFT JOIN asa
ON asa.column_1 LIKE '%sb.column_2%'
这不会返回我想要的结果 sb.column是COLUMN(具有可变值)而不是我想要找到的字符串。
编辑: 实际上我试图在字符串中找到一个子字符串。我必须使用哪种功能以及如何使用?
答案 0 :(得分:4)
'%sb.column_2%'在asa.column_1中搜索字符串'sb.column_2'。 你可能需要
ON asa.column_1 LIKE '%' || sb.column_2 || '%'
您也可以使用
ON POSITION(sb.column_2 IN asa.column_1) > 0
但是两者都将导致产品连接,这将消耗大量CPU,除非至少有一个表具有较少的行数。你的DBA绝对不会那样: - )
这个连接可能表示一个糟糕的数据模型,应该首先修复它,从而避免这样的坏连接。