我正在尝试编写一个SQL查询以返回除以下内容外的行
alphabetsnumbersspacesfollowing chars '.', '{','[','}',']'
列中的字母如Ÿ¿

例如:-有一个包含两列的表TEST-EmpNoSampleText
EmpNo是简单的序列,SampleText的值类似于

('12345abcde','abcdefghij','1234567890','ab c d 1 3','abcd$%1234','%^*&^%$#$%','% % $ #  %','abcd 12}34{','MINNEAŸPOLIS','THAN ¿VV ¿A')


我想编写一个查询,该查询应消除除.{[}]以外甚至具有单个特殊字符的所有行。在上面的示例中,它应返回EmpNo - 1,2,3,4 and 8
我尝试了REGEXP_LIKE,但没有得到我所需要的。

我使用的查询:

SELECT * FROM test
WHERE REGEXP_LIKE(sampleText, '[^A-Z^a-z^0-9^[^.^{^}]' ,'x');


这不是忽略空格,我也需要忽略右括号']'

最佳答案

您可以为此使用正则表达式,所以我认为这是您想要的:

select t.*
from test t
where not regexp_like(sampletext, '.*[^a-zA-Z0-9 .{}\[\]].*')

10-04 10:52
查看更多