Как извлечь имена сотрудников из таблицы в базе данных Oracle, в названии которой содержится ровно одна буква «а / а»? - PullRequest
0 голосов
/ 08 июля 2019

У меня есть таблица Employee в моей базе данных Oracle. Теперь я хочу получить все данные о сотрудниках, у которых в имени есть ровно один знак «А / А» (предположим, что имена сотрудников присутствуют в столбце «ename».)

Ответы [ 3 ]

1 голос
/ 08 июля 2019

вы можете использовать как оператор

select * from employees where name like '%a/A%' 
0 голосов
/ 08 июля 2019

Опция регулярного выражения:

SQL> with test (name) as
  2    (select 'Littlefoot'  from dual union all
  3     select 'Stacko'      from dual union all
  4     select 'Alguersuari' from dual union all
  5     select 'Argo'        from dual
  6    )
  7  select name
  8  from test
  9  where regexp_count(name, 'a', 1, 'i') = 1;

NAME
-----------
Stacko
Argo

SQL>
0 голосов
/ 08 июля 2019

Попробуйте следующую логику:

SELECT *
FROM Employee
WHERE name LIKE '%a%' AND name NOT LIKE '%a%a%';

Это будет соответствовать всем сотрудникам, имеющим один и только один A/a на свое имя. Обратите внимание, что LIKE в Oracle по умолчанию нечувствителен к регистру, поэтому %a% соответствует обоим буквам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...