Question Oracle SQL - REGEXP_LIKE contient des caractères autres que a-z ou A-Z


Je voudrais créer une requête où je sélectionne tous les enregistrements qui contiennent des caractères qui ne sont pas a-z ou A-Z

donc quelque chose comme ça

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


20
2018-03-07 15:53


origine


Réponses:


le ^ annule une classe de caractères:

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

33
2018-03-07 15:54



Quelque chose comme

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

devrait marcher

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
2018-03-07 15:55



Essaye ça:

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

0
2018-06-07 11:38