gpt4 book ai didi

sql - 当一个值被部分屏蔽时比较 oracle 中的值

转载 作者:行者123 更新时间:2023-12-02 08:35:28 26 4
gpt4 key购买 nike

这是我在 Oracle SQL 查询中尝试执行的操作:

我有一个 X 个字符长的帐号(示例:6001055555)。我有一个表,其中包含相同帐号的一部分,但大部分号码都被屏蔽了(示例:600##########、6001######、600244####)。

我正在尝试将 6001055555 中传递的数字与以下值之一相匹配 600##########、6001######、600244####。

在此示例中,帐号 6001055555 应返回 6001######(来自上面的列表)。我可以到达长度相同的地步,但不确定如何解决匹配问题 - 我正在考虑使用 REGEX 表达式,但不确定那是否是正确的路径。

最佳答案

您可以使用常规的 LIKE这种情况下的比较:

SQL> WITH DATA AS (
2 SELECT '600##########' acct FROM dual UNION ALL
3 SELECT '6001######' acct FROM dual UNION ALL
4 SELECT '600244####' acct FROM dual
5 )
6 SELECT *
7 FROM DATA
8 WHERE '6001055555' LIKE REPLACE (acct, '#', '_');
ACCT
-------------
6001######

我们习惯于看到 COLUMN LIKE :var 但切换术语也是有效的 (:var LIKE column)。

关于sql - 当一个值被部分屏蔽时比较 oracle 中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22047754/

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