В Oracle, что такое SQL для запроса на наличие перевода строки? - PullRequest
3 голосов
/ 13 октября 2009

Мне нужно найти строки, в которых определенный столбец содержит перевод строки.

Это не работает: выберите * из [таблицы], где [столбец] как '% \ n%'

В SO я нашел решение для SQL Server: Новая строка в Sql Query

Но это не работает в Oracle. Есть ли какое-либо решение ANSI SQL? Это должно быть стандартом ...

Если нет, каково решение в Oracle?

Ответы [ 5 ]

3 голосов
/ 13 октября 2009

Альтернатива InStr (), которая выражает SQL немного больше в соответствии с проблемой. ИМХО.

select * from [table] where [column] like '%'||chr(10)||'%'
3 голосов
/ 13 октября 2009

вы можете найти символ CHR (10) (символ новой строки):

select * from [table] where instr(column, chr(10)) > 0
1 голос
/ 13 октября 2009

Если вы работаете с Oracle 10g и выше, вы можете использовать

select * from [table] where regexp_like([column], '\n')
0 голосов
/ 13 октября 2009

В качестве альтернативы:

SELECT * FROM [table] WHERE column LIKE "%\n%"

\ n - перевод строки, \ r - возврат каретки ...

0 голосов
/ 13 октября 2009

выберите * из tableNameHere, где instr (colNameHere, chr (10))> 0

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...