我正在努力展示来自oracle的数据 有没有办法在表格中制作以下数据:
示例:
' 1.somedata,2.somedata,3.somedata,4.somedata,5.somedata'
显示如下:
示例:
界面上的' 1。 somedata
有些数据 有些数据 有些数据 5. somedata'
?
我是否直接在数据中添加新行分隔符?
或者我在查询时将它们分隔成新行?
还是有其他简单的方法吗?
感谢。
答案 0 :(得分:1)
有很多方法可以做到这一点,如果您从列中选择,则可以使用以下方法:
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
答案 1 :(得分:1)
我个人会使用listagg函数并使用'
'作为分隔符。
SELECT LISTAGG(last_name,'
')
WITHIN GROUP(ORDER BY hire_date,last_name)“Emp_list”,
MIN(hire_date)“最早的”
来自员工
在哪里department_id = 30;
答案 2 :(得分:0)
检查下面的示例查询,它将逗号分隔的列表数据转换为行
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,', ',') )
希望这会对你有帮助!
答案 3 :(得分:0)
请记住,Apex正在生成一个网页,这意味着最终结果是HTML。但是,Apex有时也会为您转义特殊的HTML字符,例如&lt;和&amp ;.由于您正在查看某个表格,因此我认为您的数据来源是一个查询,而您的数据来自于某些数据。字段是单列。试试这个:
SELECT REPLACE( somedata_column, ',', '<br />' )
FROM mytable
你不能说出什么版本的Apex。在Apex 4.x中,该列需要设置为标准报告列,这将阻止Apex从<br>
元素。我忘记了Apex 5.x中的列类型。