gpt4 book ai didi

sql - 在一个字段中查找包含在另一个字段中的文本 Oracle SQL

转载 作者:行者123 更新时间:2023-12-04 18:24:20 25 4
gpt4 key购买 nike

如果有人问到这个问题,我深表歉意,我无法用语言表达。

我被要求过滤掉查询中的行,其中一个字段的文本包含在另一个字段中。一个例子可能会更好地解释它:

    Column_1         Column_2
Low Static Static
Static Static
Static Clear
Static
Very Low Freq Freq

查询结果应该只返回第 3 行和第 4 行,因为第 1、2 和 5 行包含相似的字符串。现在,我有以下条件:

    WHERE
((Column_2 NOT LIKE '%' || Column_1 || '%')
OR (Column_1 NOT LIKE '%' || Column_2 || '%' OR Column_1 IS NULL))

但是,当我只想返回第 3 行和第 4 行时,它会返回第 1、3、4 和 5 行。这只是示例数据,我的实际数据集在第 1 列和第 2 列中包含许多不同的文本字符串,因此我可以不要只编写特定的 case 语句来排除列相似的某些实例。

也许这是不可能的,因为我无法将字符串定义为包含在 2 个空格内的内容,同时考虑没有空格的情况?

谢谢

最佳答案

对于你的表达,我认为你想要and而不是or:

WHERE ((Column_2 NOT LIKE '%' || Column_1 || '%') AND
(Column_1 NOT LIKE '%' || Column_2 || '%' OR Column_1 IS NULL)
)

您需要两个条件都为真。您可能会发现逻辑更容易遵循:

WHERE NOT (Column_2 LIKE '%' || Column_1 || '%' OR
Column_1 LIKE '%' || Column_2 || '%'
)

关于sql - 在一个字段中查找包含在另一个字段中的文本 Oracle SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24539720/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com