需要查看滑行字段是否包含字母或任何特殊字符:。 *,!,?,@,#,$,&,+,(,),/
如何编写此SQL?
答案 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定义的功能。