mei*_*chh 14 sql oracle newline
我有一个文件的问题,该文件是从数据库返回的数据(以字节格式)创建的.
问题是文件中有一些换行符.
我想知道是否有办法写一个where子句来检查某条记录是否有换行符?
APC*_*APC 25
使用CHR函数查找ASCII值:
select *
from your_table
where instr(your_text_col, chr(10)) > 0;
Run Code Online (Sandbox Code Playgroud)
如果你想搜索回车,那就是chr(13).
你可以这样写:
SELECT id
FROM table_name
WHERE field_name LIKE '%'||CHR(10)||'%'
;
Run Code Online (Sandbox Code Playgroud)
(||是连接运算符; CHR(10)是第十个ASCII字符,即换行符.)
根据平台的不同,换行符通常是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
Run Code Online (Sandbox Code Playgroud)