将多行输入显示为一行SQL ORACLE
Oracle列类型为VARCHAR2300,包含所有记录的文本多行我需要在一行中显示它,以便EX>将多行输入显示为一行SQL ORACLE,sql,oracle,Sql,Oracle,Oracle列类型为VARCHAR2300,包含所有记录的文本多行我需要在一行中显示它,以便EX> ID TEXT -------------------------------------- 1 Hi this is your numbaer 102458 --------------------------
ID TEXT
--------------------------------------
1 Hi this is
your numbaer
102458
---------------------------------------
2 hi this is
your number
452187
现在我需要将文本列显示为一行
ID TEXT
--------------------------------------
1 Hi this is your numbaer 102458
---------------------------------------
2 hi this is your number 452187
你想用空白代替换行符。为此使用REGEXP\u REPLACE 我经常做的是替换所有空格,无论是单个空格还是制表符、一组空格、换行符,还是将其与单个空格组合:
regexp_replace(col, '[[:space:]]+', ' ')
如果要将此限制为控制字符:
regexp_replace(col, '[[:cntrl:]]+', ' ')
或仅回车和换行:
regexp_replace(col, '[' || chr(10) || chr(13) || ']+', ' ')
或者,您可以使用sqlplus命令将列文本格式化为足够的数据长度:
SQL>col格式文本a100 在发布问题之前,请先看一看,谢谢,这个regexp|u replacecol,['| | | chr10 | | chr13 | | |']+','与我一起工作过