Using Snowflake SEARCH function combined with * EXCLUDE()* EXCLUDE()/* ILIKE()* ILIKE():
SELECT *
FROM mre_table
WHERE SEARCH((* EXCLUDE (ID)), 'my-data-val', SEARCH_MODE => 'EXACT');
For sample data:
CREATE OR REPLACE TABLE mre_table(
ID INT,
COL1 STRING,
COL2 STRING,
COL3 STRING,
COL4 DATE
);
INSERT INTO mre_table VALUES
(1, 'my-data-val', 'a','b',CURRENT_DATE()),
(2, 'z', 'a','b',CURRENT_DATE()),
(3, 'z', 'a','my-data-val',CURRENT_DATE());
Output:
Alternatively using ARRAY_CONTAINS:
WITH cte AS (
SELECT *, ARRAY_CONSTRUCT(* ILIKE 'COL%') AS arr
FROM mre_table
)
SELECT * EXCLUDE (arr)
FROM cte
WHERE ARRAY_CONTAINS('my-data-val'::VARIANT, arr);
