【问题标题】:LIKE or REGEX troubleLIKE 或 REGEX 麻烦
【发布时间】: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 中的 LIKEregexp_like 都区分大小写,因此请确保您的模式与数据中的大小写匹配。
  • 确保WHERE中包含您想要助手的正确列

标签: sql regex presto


【解决方案1】:

这是你想要的吗?

WHERE LOWER(field) LIKE '%assistant%'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-11
    • 2011-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多