Подтвердить что ты не робот

Как искать новую строку char в таблице оракула?

У меня проблема с файлом, созданным из данных (в формате байтов), возвращенных из базы данных.
проблема в том, что в файле есть несколько новых строк.
Я хотел бы знать, есть ли способ написать предложение where, чтобы проверить, имеет ли какая-либо запись символ новой строки?

4b9b3361

Ответ 1

Использование функции CHR для поиска значения ASCII:

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

Если вы хотите найти возврат каретки, это будет chr (13).

Ответ 2

В зависимости от платформы новая строка обычно будет либо 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

Вы можете написать что-то вроде:

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

(|| - оператор конкатенации, CHR(10) - десятый символ ASCII, т.е. строка новой строки.)