我正在尝试编写一个SQL查询以返回除以下内容外的行alphabets
,numbers
,spaces
和following chars '.', '{','[','}',']'
列中的字母如Ÿ
,¿
例如:-有一个包含两列的表TEST
-EmpNo
和SampleText
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 .{}\[\]].*')