wake-up-neo.com

Oracle SQL - REGEXP_LIKE enthält andere Zeichen als a-z oder A-Z

Ich möchte eine Abfrage erstellen, in der ich alle Datensätze auswähle, die Zeichen enthalten, die nicht von A bis Z oder von A bis Z sind

also so etwas

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

21
Tom

Der ^ negiert eine Zeichenklasse:

SELECT * FROM mytable WHERE REGEXP_LIKE(column_1, '[^A-Za-z]')
35

So etwas wie

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

sollte arbeiten

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
9
Justin Cave

Versuche dies:

select * from T_PARTNER 
where C_DISTRIBUTOR_TYPE_ID = 6 and
translate(C_PARTNER_ID, '.1234567890', '.') is null;
0
venky

wenn Sie möchten, dass keine von A-Z und A-Z enthält:

SELECT * FROM mytable WHERE NOT REGEXP_LIKE(column_1, '[A-Za-z]')

so etwas wie:

"98763045098" oder "!% 436% $ 7% $ * #"

oder andere Sprachen wie Persisch, Arabisch und ... wie folgt:

"خلیج فارس"

0
Omid-RH