如何检查列表中是否有任何项目包含在列的名称中?- 普雷斯托·



我想知道如何检查列表中的任何项目是否包含在我试图选择的列的名称中。

假设我有一个列表,如:list = ['apple', 'banana', 'cat']。如何检查列名中是否包含该列表中的任何项目?

我最初的想法类似于:

SELECT column_name,
CASE WHEN column ('apple', 'banana', 'cat') IN column_name THEN true ELSE NULL END AS flag
FROM information_schema.columns;

但显然这不起作用。我也在研究SUBSTR函数,但不确定它如何与值列表一起工作。

此外,我提供的更多的是一个可重复性最低的例子。实际列表将包含大约40个元素。非常感谢您的帮助,谢谢!

您可以使用正则表达式:

SELECT column_name,
(CASE WHEN REGEXP_LIKE(column_name, 'apple|banana|cat') THEN true ELSE NULL
END) AS flag
FROM information_schema.columns;

最新更新