我有一个查询
select distinct(tad.ASP_NAME)
from TABLE_ASP_DETAILS tad
where tad.ASSIGNED_FE_LAST_NAME = 'asurekam2'
其中ASSIGNED_FE_LAST_NAME等同于SureKAM2,对于上述查询,它应返回SureKAM2。
类似地
select distinct(tad.ASP_NAME)
from TABLE_ASP_DETAILS tad
where tad.ASSIGNED_FE_LAST_NAME = 'ABT_Dallas1_TX'
应从表返回ABT。
所以基本上我想在我的输入字符串中包含类似的功能,并且它应该能够在tad.ASP_NAME中搜索类似的内容。 ASP名称将是输入字符串的子字符串
ACS_ITALY_CATANIA,ACS_ITALY_BARI,ACS_xxxxx任何输入都应该能够在tad.ASP_NAME中找到ACS值
ADNTELECOM_Sayedur_Rahman,ADNTELECOM_Reza_Bin_Mujib,ADNTELECOM_Reza_Bin_Mujib 应该可以在tad.ASP_NAME中找到ADNTELECOM值
答案 0 :(得分:1)
这似乎可以满足您的要求:
where lower('asurekam2') like '%' || lower(tad.ASSIGNED_FE_LAST_NAME) || '%'
答案 1 :(得分:0)
这会吗?您没有提供测试用例,所以我即兴。您需要6-8行。
SQL> with table_asp_details(asp_name, assigned_fe_last_name) as
2 (select 'ACS_ITALY_CATANIA', 'ACS_Dallas1_TX' from dual union all
3 select 'ACS_ITALY_BARI', 'ACS_Dallas1_TX' from dual
4 )
5 -- this is what you need
6 select distinct regexp_substr(asp_name, '[[:alpha:]]+') result
7 from table_asp_details tad
8 where tad.assigned_fe_last_name = 'ACS_Dallas1_TX';
RESULT
-----------------
ACS
SQL>
答案 2 :(得分:0)
我认为您正在寻找类似的内容,但很难说的这么少:
select distinct(tad.ASP_NAME)
from TABLE_ASP_DETAILS tad
where regexp_like('asurekam2', tad.ASSIGNED_FE_LAST_NAME)