【发布时间】:2020-02-12 15:53:18
【问题描述】:
当assistant 这个词出现时,我很想将所有内容从列中拉出,如下所示:
SELECT *
FROM table
WHERE field LIKE '%assistant%'
但这不起作用。我没有收到错误,它正在以某种方式过滤数据,但它似乎实际上是在过滤我请求的值 OUT(我已经验证了这些值存在)。谁能用REGEXP_LIKE 解释尝试有什么问题或我如何在正则表达式中做到这一点?
对于正则表达式,模式为anythingASSISTANTanything
【问题讨论】:
-
上面的代码对于选择任何包含字符串“assistant”的值看起来都是正确的。你能提供一个你期望它返回的数据样本吗?另外,请仔细检查您的实际代码是否与上面的示例匹配。
-
仅供参考:您不需要在正则表达式中使用
anything,因为REGEXP_LIKE能够在字符串中找到部分匹配项。 -
LIKE模式将assistant指定为小写,但在描述正则表达式模式时使用大写。请记住,Presto 中的LIKE和regexp_like都区分大小写,因此请确保您的模式与数据中的大小写匹配。 -
确保
WHERE中包含您想要助手的正确列