我遇到了从数据库返回的数据(以字节格式)创建的文件的问题
问题是文件中有一些换行符。
我想知道是否有办法写一个where子句来检查某条记录是否有换行符?
答案 0 :(得分:22)
使用CHR功能查找ASCII值:
select *
from your_table
where instr(your_text_col, chr(10)) > 0;
如果你想搜索回车,那就是chr(13)。
答案 1 :(得分:5)
你可以这样写:
SELECT id
FROM table_name
WHERE field_name LIKE '%'||CHR(10)||'%'
;
(||
是连接运算符; CHR(10)
是第十个ASCII字符,即换行符。)
答案 2 :(得分:5)
根据平台的不同,换行符通常为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
答案 3 :(得分:0)
这对我来说效果最好。
从label_master中选择*,其中regexp_like(text,chr(10));