Oracle SQL - REGEXP_LIKE содержит символы, отличные от a-z или A-Z - PullRequest
21 голосов
/ 07 марта 2012

Я хотел бы создать запрос, в котором я выбираю все записи, которые содержат символы, которые не являются az или AZ

, поэтому что-то вроде этого

SELECT * FROM mytable WHERE REGEXP_LIKE(column_1, '![A-Z] [a-z]')

Ответы [ 4 ]

35 голосов
/ 07 марта 2012

^ отрицает класс символов:

SELECT * FROM mytable WHERE REGEXP_LIKE(column_1, '[^A-Za-z]')
9 голосов
/ 07 марта 2012

Что-то вроде

select *
  from foo
 where regexp_like( col1, '[^[:alpha:]]' ) ;

должно работать

SQL> create table foo( col1 varchar2(100) );

Table created.

SQL> insert into foo values( 'abc' );

1 row created.

SQL> insert into foo values( 'abc123' );

1 row created.

SQL> insert into foo values( 'def' );

1 row created.

SQL> select *
  2    from foo
  3   where regexp_like( col1, '[^[:alpha:]]' ) ;

COL1
--------------------------------------------------------------------------------
abc123
0 голосов
/ 05 декабря 2018

, если вы хотите, чтобы не содержалось ни одного из аз и аз:*

или другие языки, такие как персидский, арабский и ... как это:

"خلیج فارس"

0 голосов
/ 07 июня 2018

Попробуйте это:

select * from T_PARTNER 
where C_DISTRIBUTOR_TYPE_ID = 6 and
translate(C_PARTNER_ID, '.1234567890', '.') is null;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...