0

我正在尝试列包含除换行符(A 的十六进制值)之外的任何控制章程的所有行。我尝试了以下方法,但这仅返回具有控制字符且没有换行符的结果。我真的想要作为控制字符的字符集,而不是换行符。字符集是否有“减号”操作,您可以从中排除特定的字符集?

SELECT *
FROM MyTable
WHERE REGEXP_LIKE(MyColumn, '[:cntrl: &&[^' || UTL_RAW.CAST_TO_VARCHAR2(HEXTORAW('A')) || ']]{1,}');

有什么想法吗?谢谢!

4

1 回答 1

0

好吧,这是第一次尝试,但我相信这可以变得更加优雅和高效:

SELECT *
FROM MyTable
WHERE regexp_like(MyColumn, '[[:cntrl:]]')
AND MyColumn NOT like '%' || chr(10) || '%';
于 2016-06-21T21:16:04.137 回答