我需要找到某列包含换行的行。在Oracle中,查询换行发生的SQL是什么?
这不起作用: SELECT * FROM [表],其中[专栏] LIKE '%\ N%'
在SO,我发现SQL Server的解决方案: New line in Sql Query
但这在Oracle中不起作用。有没有任何ANSI SQL解决方案?这应该是一个标准...
如果不是,Oracle的解决方案是什么?
我需要找到某列包含换行的行。在Oracle中,查询换行发生的SQL是什么?
这不起作用: SELECT * FROM [表],其中[专栏] LIKE '%\ N%'
在SO,我发现SQL Server的解决方案: New line in Sql Query
但这在Oracle中不起作用。有没有任何ANSI SQL解决方案?这应该是一个标准...
如果不是,Oracle的解决方案是什么?
的替代方法我nStr()表示SQL更符合问题。恕我直言。
select * from [table] where [column] like '%'||chr(10)||'%'
,你可以查找CHR(10)字符(换行字符):
select * from [table] where instr(column, chr(10)) > 0
SELECT * FROM tableNameHere其中INSTR(colNameHere,CHR(10))> 0
或者:
SELECT * FROM [table] WHERE column LIKE "%\n%"
\ n为换行,\ r是回车...
如果您正在使用Oracle 10g中向上的工作,你可以使用
select * from [table] where regexp_like([column], '\n')
@thomasnash - 这并不在甲骨文工作 – dpbradley 2009-10-13 14:46:27