我想创建一个查询,我选择所有包含非a-z或A-Z字符的记录
这样的事情
SELECT * FROM mytable WHERE REGEXP_LIKE(column_1, '![A-Z] [a-z]')
答案 0 :(得分:35)
^
否定了一个字符类:
SELECT * FROM mytable WHERE REGEXP_LIKE(column_1, '[^A-Za-z]')
答案 1 :(得分:9)
像
这样的东西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
答案 2 :(得分:0)
试试这个:
select * from T_PARTNER
where C_DISTRIBUTOR_TYPE_ID = 6 and
translate(C_PARTNER_ID, '.1234567890', '.') is null;
答案 3 :(得分:0)
如果您不希望包含a-z和A-Z中的任何一个:
SELECT * FROM mytable WHERE NOT REGEXP_LIKE(column_1, '[A-Za-z]')
类似:
“ 98763045098”或“!%436%$ 7%$ *#”
或其他语言,例如波斯语,阿拉伯语和...,例如:
“خلیجفارس”