【问题标题】:SQL wildcard contains the word and not as part of another wordSQL 通配符包含该单词而不是另一个单词的一部分
【发布时间】:2019-04-29 21:41:06
【问题描述】:

我必须编写带有条件的 aql 查询,其中单词包含单词“kg”并且不是另一个单词的一部分

我试过了:

WHERE word LIKE '% kg %' or word LIKE 'kg %' or word LIKE '% kg' or word LIKE 'kg'

还有比这更短的方法吗?

【问题讨论】:

  • 这可能很棘手。例如He weights 80kg.10 kg, 15 kg

标签: sql sql-server sql-like


【解决方案1】:

您可以在其中添加分隔符。使用标准 SQL 构造:

WHERE ' ' || word || ' ' LIKE '% kg %'

并非所有数据库都支持标准串联运算符。在您的数据库中使用适当的函数。

【讨论】:

    【解决方案2】:

    如果您必须考虑像 100 公斤这样的情况,那么我只会排除“公斤”之前或之后有 alpha 的情况。

    WHERE word LIKE '%KG%' AND word NOT LIKE '%[A-Z]KG[A-Z]%'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-20
      • 1970-01-01
      相关资源
      最近更新 更多