在一行SQL ORACLE中显示多行

时间:2018-02-01 12:19:56

标签: sql oracle

Oracle列类型{{ terminal.barcode }} {{ terminal.dateArrival }} 包含所有记录的文本多行我需要在一行中显示EX>

VARCHAR2(300)

现在我需要将文本列显示为一行

ID                         TEXT
--------------------------------------
1                       Hi this is
                        your numbaer
                        102458
---------------------------------------
2                      hi this is
                       your number
                       452187

2 个答案:

答案 0 :(得分:1)

你想用空白代替换行符。请使用REGEXP_REPLACE

我经常做的是用一个空白替换所有空白区域(无论是单个空白或制表符,一组空白,换行符,任何组合):

regexp_replace(col, '[[:space:]]+', ' ')

如果要将此限制为控制字符:

regexp_replace(col, '[[:cntrl:]]+', ' ')

或仅回车和换行:

regexp_replace(col, '[' || chr(10) || chr(13) || ']+', ' ')

答案 1 :(得分:0)

作为替代方案,您可以使用sqlplus命令格式化列TEXT足够的数据长度:

SQL> col format text a100;