首页 > 解决方案 > 从由回车符分隔的字符串中提取地址行返回报告生成器 3.0

问题描述

我找到了一个建议,使用下面的代码从一个字符串中提取第一行,该字符串包含许多由回车符分隔的地址行。

我正在使用report builder 3.0,数据源是oracle数据库

SubStr(Table.Text, 1, decode(InStr(Table.Text, Chr(10)), 0, Length(Table.Text), InStr(Table.Text, Chr(10))) - 1)

代码正确地拉出第一行......

如何找到第二行(在第一个回车之后)和第三行(在第二个回车之后)等等

提前感谢您的帮助

标签: sqlreporting-services

解决方案


您可以将regexp_substr与第 4 个参数一起使用

select regexp_substr(text,'.*?'||chr(13))     as first_line,
       regexp_substr(text,'.*?'||chr(13),1,2) as second_line,
       regexp_substr(text,'.*?'||chr(13),1,3) as third_line
from t;

SQL小提琴

编辑:顺便说一下 chr(10) 是换行的 ASCII 码,而不是回车。


推荐阅读