在列上应用LIKE函数

时间:2013-08-04 16:25:39

标签: sql teradata

如何在Teradata中对列名应用LIKE函数。 我写了以下代码:

SELECT *
FROM sb
LEFT JOIN asa
ON asa.column_1 LIKE '%sb.column_2%'

这不会返回我想要的结果 sb.column是COLUMN(具有可变值)而不是我想要找到的字符串。

编辑: 实际上我试图在字符串中找到一个子字符串。我必须使用哪种功能以及如何使用?

1 个答案:

答案 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绝对不会那样: - )

这个连接可能表示一个糟糕的数据模型,应该首先修复它,从而避免这样的坏连接。