我是Queries的新手。
如何编写查询以仅从值中提取第一行?
示例 -
select address
from user
where id =1;
样本输出(单行&不是3行)
Anthony Benoit
490 E Main Street
Norwich CT 06360
我想只获得第一行,
这是Anthony Benoit
答案 0 :(得分:1)
您可以使用SUBSTR
并在第一个new-line
字符上编制索引
select substr(lines,0,instr(lines,chr(10))) d
from
(select 'line 1
line2' lines
from dual)
注意chr(10)
你最有可能需要改进那部分以支持不同的新行字符(例如chr(13),chr(13)和chr(10)......等)
答案 1 :(得分:0)
假设您的示例输出是三行。
如果您使用的是11g及之前的版本,只需在外部查询中将select * from ... where rownum = 1
添加到您发布的查询中,但您还需要在内部查询中添加order by column
。
如果您使用的是12c,则只需使用ROW LIMIT子句,只需添加此子句FETCH FIRST 1 ROWS ONLY
即可。