SQL Oracle查询-字段包含特殊字符或字母

时间:2018-11-06 23:26:35

标签: sql oracle select

需要查看滑行字段是否包含字母或任何特殊字符:。 *,!,?,@,#,$,&,+,(,),/

如何编写此SQL?

2 个答案:

答案 0 :(得分:3)

Oracle具有regexp_like:

select * from tablename where regexp_like(columnname, '[*!?@#$&+()/]');

答案 1 :(得分:0)

这是显示所有不完全由数字组成的滑行的最佳方法:

select taxid
from   your_table
where  translate(taxid, '.0123456789', '.') is not null

TRANSLATE将在输入中的每个周期与输出中的一个周期“翻译”(替换)。由于第二个自变量中的其他字符在第三个自变量中没有对应的字符,因此将它们简单地删除。如果此操作的结果为 null,则taxid包含至少一个非数字字符。如果taxid为全数字,则运算结果为null。请注意,由于Oracle的TRANSLATE定义中有一个奇数,因此此处需要使用句点字符:如果其任何参数为null,则返回值也是如此。那没有什么意义,但是我们必须使用Oracle定义的功能。