oracle如何在数据中添加换行符

How to add new line separator into data for oracle

我正在研究显示来自 oracle 的数据。
有没有办法在 table 中生成以下数据:

示例:

'1.somedata, 2.somedata, 3.somedata, 4.somedata, 5.somedata'

显示为:

示例:

'1. somedata
2. somedata
3. somedata
4. somedata
5. somedata'

在界面上?

我是否将新行分隔符直接添加到数据中?

还是在查询时将它们分隔成新行?

或者还有其他简单的方法吗?

谢谢。

有很多方法可以做到这一点,如果您从列中选择,这里有一种方法:

 SELECT REPLACE ('1.somedata, 2.somedata, 3.somedata, 4.somedata, 5.somedata', ',', CHR (13) || CHR (10)) AS split
      FROM DUAL;
1.somedata
 2.somedata
 3.somedata
 4.somedata
 5.somedata

检查下面的示例查询,它将逗号分隔的列表数据转换为行

SELECT substr( '1.AL,2.AL,3.AL,4.AL,5.AL,6.AL,',
                               ( case when rownum = 1      then 1
                                      else instr( '1.AL,2.AL,3.AL,4.AL,5.AL,6.AL,', ',', 1, rownum - 1 ) + 1 
                                  end ),

                                instr( substr( '1.AL,2.AL,3.AL,4.AL,5.AL,6.AL,',
                                                                     ( case when rownum = 1    then 1
                                                                            else instr( '1.AL,2.AL,3.AL,4.AL,5.AL,6.AL,', ',', 1, rownum - 1 ) + 1 
                                                                        end )
                                ), ',' ) - 1

            ) as data
FROM dual
CONNECT BY LEVEL <= length( '1.AL,2.AL,3.AL,4.AL,5.AL,6.AL,' ) - length ( replace('1.AL,2.AL,3.AL,4.AL,5.AL,6.AL,', ',') )

希望对您有所帮助!

请记住,Apex 正在生成网页,这意味着最终结果是 HTML。然而,Apex 有时也会为您转义特殊的 HTML 字符,例如 < 和 &。由于您正在查看 table,我假设您的数据源是查询,而您的 "somedata" 字段是单列。试试这个:

SELECT REPLACE( somedata_column, ',', '<br />' )
  FROM mytable

你不说是什么版本的Apex。在 Apex 4.x 中,该列需要设置为标准报告列,这将从 <br> 元素中停止 Apex。我忘记了 Apex 5.x.

中的列类型

我个人会使用 listagg 函数并使用“
”作为分隔符。

SELECT LISTAGG(last_name, '
') 组内(按 hire_date、last_name 排序)"Emp_list"、 最小值(hire_date) "Earliest" 来自员工 其中 department_id = 30;