Member 11416690 Ответов: 2

Как найти строки в столбце с двумя буквами в oracle


у меня есть такой стол, как,
ИДЕНТИФИКАЦИОННОЕ ИМЯ
1 АБ ДЖОН
2 МАЙКЛ ДЖОНСОН
3-Й САЧИН

Я хочу, чтобы генерировать как(я хочу, чтобы запроса в Oracle)
ИДЕНТИФИКАЦИОННОЕ ИМЯ
1 АБ ДЖОН
3-Й САЧИН

Плз помогите мне с этим

Что я уже пробовал:

SELECT *
FROM Test_V
WHERE regexp_like (name , '[]') ;

2 Ответов

Рейтинг:
1

itsmypassion

Select * from Test_V Where Locate(' ', Name)=3


Рейтинг:
0

RAMASWAMY EKAMBARAM

Член 11416690 находится на правильном пути, используя regexp_like()

Попробовать это:
выбирать *
из test_v
где regexp_like (' '//name|/' ', [^[: alpha:]]+[[: alpha:]]{2}[^[:Альфа:]]+)

Вышеизложенное будет проверяться на наличие 2 последовательных Альфа-символов (букв), которым предшествует и за которыми следует по крайней мере 1 неалфавитный символ. Поскольку я не проводил никакого реального тестирования запроса в Oracle, я не уверен, что Oracle вернет совпадение, если 2 символа находятся в начале/ конце строки, и именно поэтому префиксные и суффиксные пробелы добавляются к "имени" (значению столбца). Вышеизложенное должно совпадать, даже если 2 последовательные буквы встречаются в середине строки. Если вы хотите сопоставить символы верхнего регистра, используйте [[: upper:]] {2}, но не изменяйте [^[: alpha:]]+.
locate (' ' , name) = 3 также будет соответствовать A. JOHN и S. SACHIN.