在 Oracle SQL 中使用字符串连接开发人员未以所需格式输出

Using string concatenation in Oracle SQL Developer not outputting in desired format

我有一个 CUSTOMER table,必须将用逗号和 space ', ' 分隔的 FirstName 和 LastName 列连接到一个名为 CustomerName 的新列中。

所需的输出类似于:

CustomerName
----------------------
FirstName1, LastName1
FirstName2, LastName2
FirstName3, LastName3

但我的实际输出是:

CustomerName
----------------------------------------
FirstName1                    , LastName1
FirstName2                    , LastName2
FirstName3                    , LastName3

我试过嵌套 CONCAT 函数:

SELECT CONCAT(CONCAT(FirstName, ', '),LastName) "CustomerName"
FROM CUSTOMER;

我也试过使用双管道连接运算符 (||):

SELECT FirstName ||', '|| LastName "CustomerName"
FROM Customer;

两部分代码产生相同的输出,其中每列由很多白色分隔 space 而不是只有 space.

您只需要 trim 连接前的值。 你有这个问题的原因很简单 - db 存储固定长度的值,所以当你 select 它时 - 它用空值填充未使用的部分 - 白色 space

似乎你的数据类型只是 char 而不是 var 或很多 space 已被保存,最好是将你的数据类型更改为 var,否则你可以 trim 它们 :

SELECT TRIM(FirstName) ||', '|| TRIM(LastName)  "CustomerName"
FROM Customer;