совпадение подстроки в sql - PullRequest
       1

совпадение подстроки в sql

0 голосов
/ 27 сентября 2018

У меня есть запрос

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, любой вход должен быть в состоянии найти значение ACS в tad.ASP_NAME

ADNTELECOM_Sayedur_Rahman, ADNJ_j_B_R_B_M_B_T_B_T_B_T_B_T_B_T_B_T_B_T_R_B_B_R_RЗначение ADNTELECOM в tad.ASP_NAME

Ответы [ 3 ]

0 голосов
/ 27 сентября 2018

Будет ли это делать?Вы не предоставили контрольный пример, поэтому я импровизировал .Вам нужны строки 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>
0 голосов
/ 27 сентября 2018

Я думаю, что вы ищете что-то подобное, но трудно сказать с таким небольшим количеством деталей:

select distinct(tad.ASP_NAME)
from TABLE_ASP_DETAILS tad
where regexp_like('asurekam2', tad.ASSIGNED_FE_LAST_NAME)
0 голосов
/ 27 сентября 2018

Это похоже на то, что вы хотите:

where lower('asurekam2') like '%' || lower(tad.ASSIGNED_FE_LAST_NAME) || '%'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...