Oracle 查询识别具有特殊字符的列

Rit*_*ang 5 sql oracle

alphabets我正在尝试编写一个 SQL 查询来返回除 \n 、和\nColumn之外包含字母表的行,numbers例如,spacesfollowing chars '.', '{','[','}',']'\xc5\xb8\xc2\xbf

\n\n

例如:- 有一个TEST包含 2 列的表 - EmpNo\ SampleTextnEmpNo是简单的序列,并且SampleText具有类似的值

\n\n
('12345abcde','abcdefghij','1234567890','ab c d 1 3','abcd$%1234','%^*&^%$#$%','% % $ #  %','abcd 12}34{','MINNEA\xc5\xb8POLIS','THAN \xc2\xbfVV \xc2\xbfA')\n
Run Code Online (Sandbox Code Playgroud)\n\n

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

\n\n

我使用的查询:

\n\n
SELECT * FROM test \nWHERE REGEXP_LIKE(sampleText, '[^A-Z^a-z^0-9^[^.^{^}]' ,'x'); \n
Run Code Online (Sandbox Code Playgroud)\n\n

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

\n

Gor*_*off 4

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

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