例如,我的表中的一列是一个数组,我想检查该列是否包含一个包含子字符串"denied"的元素(所以像"在12:00 pm拒绝","被admin拒绝"这样的元素都将被计算,我相信我将不得不使用"喜欢"来识别模式.如何为此编写sql?
Mar*_*rso 18
在较新版本的 PrestoSQL(现在称为 Trino)中,您可以使用该any_match函数:
WHERE any_match(column, e -> e like '%denied%')
Run Code Online (Sandbox Code Playgroud)
使用presto的数组函数:
filter(),返回满足给定条件的元素cardinality(),返回数组的大小:像这样:
where cardinality(filter(myArray, x -> x like '%denied%')) > 0
Run Code Online (Sandbox Code Playgroud)