POSITION
機能と複数のOR
条件を試しましたか?
SELECT *
FROM TABLE
WHERE POSITION('ABC_123' IN UPPER("Description") > 0
OR POSITION('ABC_124' IN UPPER("Description") > 0
OR POSITION('DE_25' IN UPPER("Description") > 0;
いずれにせよ、これはTeradataでは高価なCPU/IOプロセスになると思います。これを容易にするTeradata13.x以前のリリースのネイティブ関数を知りません。Teradata 14.x(14.10だと思います)は、これをより簡単なソリューションにする可能性のある正規表現サポートをネイティブに導入することになっています。
あなたはいくつのリストワードについて話しているのですか?
LIKE
述語でサブクエリを使用するとどうなりますか?
SELECT *
FROM myTable
WHERE UPPER("Description")
LIKE (SELECT ListWord
FROM myListWords);
リストの単語をサブクエリのパターンとして表示する必要がある場合があります。
SELECT *
FROM myTable
WHERE UPPER("Description")
LIKE (SELECT '%' || ListWord || '%' AS ListWordPattern
FROM myListWords);