Oracle - 如何删除空格?

9 oracle whitespace

我正在运行这个声明:

select trim(a),trim(b) from table x;
Run Code Online (Sandbox Code Playgroud)

即使我使用trim()语句,我的输出如下所示:

A                                                            B                              
___                                                          ____
kunjramansingh                                               smartdude
Run Code Online (Sandbox Code Playgroud)

列'a'和'b'的数据类型是varchar2(255).

两个输出的数据之间存在差距.我想显示没有空格的数据 - 格式如下:

A             B
___           ______ 
kunjramansinghsmartdude
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

Qua*_*noi 12

SELECT  REGEXP_REPLACE('A B_ __ kunjramansingh smartdude', '\s*', '')
FROM    dual

---
AB___kunjramansinghsmartdude
Run Code Online (Sandbox Code Playgroud)

更新:

只是连接字符串:

SELECT  a || b
FROM    mytable
Run Code Online (Sandbox Code Playgroud)


Pla*_*mer 12

看起来您正在sqlplus中执行查询.Sqlplus需要确保列间距有足够的空间,以便显示最大字符串大小(255).通常,解决方案是使用列格式化选项(在查询之前运行:A列格式A20)来减少最大字符串大小(超过此长度的行将显示在多行上).


cur*_*isk 5

如果我理解正确,这就是你想要的

select (trim(a) || trim(b))as combinedStrings from yourTable
Run Code Online (Sandbox Code Playgroud)