15

我对从数据库返回的数据(以字节格式)创建的文件有疑问。
问题是文件中有几个换行符。
我想知道是否有办法编写 where 子句来检查某些记录是否有换行符?

4

4 回答 4

29

使用 CHR 函数查找 ASCII 值:

select *
from your_table
where instr(your_text_col, chr(10)) > 0;

如果你想搜索回车,那就是 chr(13)。

于 2012-11-20T21:18:29.093 回答
8

您可以编写如下内容:

SELECT id
  FROM table_name
 WHERE field_name LIKE '%'||CHR(10)||'%'
;

(||是连接运算符;CHR(10)是第十个 ASCII 字符,即换行符。)

于 2012-11-20T21:18:06.787 回答
6

根据平台,换行符通常是CHR(10)(Unix) 或CHR(13)后跟CHR(10)(Windows)。其他更深奥的平台还有其他选择,但 99.999% 的情况下,它将是这两个平台之一。

您可以搜索列中的数据以查找一个或两个字符

SELECT instr( column_name, CHR(10) ) position_of_first_lf,
       instr( column_name, CHR(13) || CHR(10) ) position_of_first_cr_lf
  FROM table_name
 WHERE instr( column_name, CHR(10) ) > 0
于 2012-11-20T21:19:01.803 回答
0

这对我来说效果最好。

select * from label_master where regexp_like (text, chr(10));

于 2019-01-04T21:00:01.557 回答