You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Oracle SQL中判断UserName列值是否存在于ManagerList列中

Oracle SQL实现判断用户名是否在经理列表中

输入数据

UserNameManagerList
AbhiAyush; Abhi; Kirti
SumanAyush; Priti; Kirti
SatishAyush; Priti; Kirti; Satish

需求

在Oracle SQL中判断每行的UserName列值是否存在于对应的ManagerList列中,并输出包含is_available列的结果——存在标记为Y,不存在标记为N。

预期输出

UserNameManagerListis_available
AbhiAyush; Abhi; KirtiY
SumanAyush; Priti; KirtiN
SatishAyush; Priti; Kirti; SatishY

解决方案

使用Oracle的INSTR函数结合字符串拼接避免部分匹配问题,SQL语句如下:

SELECT 
    UserName,
    ManagerList,
    CASE 
        WHEN INSTR(';' || ManagerList || ';', ';' || UserName || ';') > 0 THEN 'Y'
        ELSE 'N'
    END AS is_available
FROM 
    your_table_name;

说明

  • 在ManagerList前后拼接分号,确保匹配完整的用户名(避免类似Ab被误判为存在于Abhi中的情况)。
  • INSTR函数返回子字符串的位置,结果大于0则表示用户名存在,否则不存在。

内容的提问来源于stack exchange,提问作者Chinu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 01:19:55