我正在尝试编写一个查询,告诉我某些记录是否只包含特殊字符。例如"%^&%& ^%&"然而会错误"%HH678 *(*))"很好(因为它也有字母数字值。我写了下面的查询,但它只适用于英文字母和数字,如果列有其他字符,如普通话,那么它也是&#39 ;没有给出预期的价值。非常感谢任何帮助。
SELECT * FROM test WHERE REGEXP_LIKE(sampletext, '[^]^A-Z^a-z^0-9^[^.^{^}^ ]' );
答案 0 :(得分:1)
你可以试试这个,
regexp_like(text, '^[^A-Za-z0-9]+$')
仅当输入文本包含特殊字符,即仅包含不是字母或数字的字符时,才匹配文本。
答案 1 :(得分:0)
要检测仅包含非重音字母,数字或空格字符以外的字符的字符串,请尝试以下操作:
regexp_like(text,'^[^a-zA-Z0-9[:space:]]+$')
如果您认为标点字符不是特别的,而是将[:punct:]
添加到要忽略的字符类中。
如果您正在寻找一组特定的字符,您可以使用只有那些感兴趣的字符的字符类,例如一些常见的重音字符(请注意字符类{{中缺少前导^
1}}:
[]