#snowflake-cloud-data-platform #dynamic-sql
Вопрос:
В Snowflake у меня есть таблица, заполненная именами, которые я хочу исключить из своего набора данных, но некоторые имена являются просто доменами электронной почты, поэтому я хочу использовать оператор ilike, чтобы исключить их.
Я хотел бы использовать таблицу с частями имен в качестве списка исключений, чтобы мне не нужно было поддерживать оператор like. Например, если у меня есть следующие 2 таблицы:
CREATE or REPLACE TABLE test ( id number, last_name varchar, first_name varchar ) as SELECT * FROM VALUES (1, 'Goehan', 'Aylin'), (2, 'Jacobs', 'Alvin'), (3, 'Kong', 'Jackie'), (4, 'Yong', 'Steve'), (5, 'Joe', 'Black'); CREATE or REPLACE TABLE test_excludes ( excl_last varchar ) as SELECT * FROM VALUES ('ong'), ('oe');
Что я пытаюсь сделать, так это исключить «Йонг», «Конг», «Гоехан» и «Джо». Однако я думаю, что если я сделаю какое-то декартово объединение, это может быть неэффективно, поэтому мне интересно, можно ли использовать динамический SQL для создания оператора ilike с помощью Snowflake.